复杂类型的对象不是 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"
    ]
]