复杂类型的对象不是 JSon 可序列化的:忽略隐藏在字符串中的表达式?
Object of type complex is not JSon serializable: ignore expressions burried in a string?
所以我有一个大量的 csv 转储,我需要将其解析为 JSON。在那些csv字段中,有评论字段,类似于这个:
2999.99 + 90J
我猜是指价格和天数,但是当我将其转储为 JSON 时,它显示为
(2999.99+90j)
这是一个复数,不是 json 可序列化的。我想我可以尝试查找并替换所有边界情况,但我宁愿只告诉 json/python 忽略任何复数表示?有什么办法吗?或者我真的需要检查所有数据吗?快速搜索告诉我至少有一些这样的有问题的评论,所以我宁愿不....
您的代码中有一些东西在进行这种转换。以下是标准模块的工作原理:
import csv
import json
# x.csv contains:
# one,two,333,444+44j,555
data = list(csv.reader(open('x.csv')))
print(data)
d = json.dumps(data, indent=4)
print(d)
输出:
[['one', 'two', '333', '444+44j', '555']]
[
[
"one",
"two",
"333",
"444+44j",
"555"
]
]
所以我有一个大量的 csv 转储,我需要将其解析为 JSON。在那些csv字段中,有评论字段,类似于这个:
2999.99 + 90J
我猜是指价格和天数,但是当我将其转储为 JSON 时,它显示为
(2999.99+90j)
这是一个复数,不是 json 可序列化的。我想我可以尝试查找并替换所有边界情况,但我宁愿只告诉 json/python 忽略任何复数表示?有什么办法吗?或者我真的需要检查所有数据吗?快速搜索告诉我至少有一些这样的有问题的评论,所以我宁愿不....
您的代码中有一些东西在进行这种转换。以下是标准模块的工作原理:
import csv
import json
# x.csv contains:
# one,two,333,444+44j,555
data = list(csv.reader(open('x.csv')))
print(data)
d = json.dumps(data, indent=4)
print(d)
输出:
[['one', 'two', '333', '444+44j', '555']]
[
[
"one",
"two",
"333",
"444+44j",
"555"
]
]