我有一个格式如下的 CSV 数据转储:
"field1";"{"JSON-KEY": "JSON-VALUE"}";"field3"
如果我像这样使用 CSV Python 阅读器...
csv.reader(csvfile, delimiter=';', quotechar='"')
我遇到两个问题:
(1) 当 JSON-VALUE 字符串包含分隔符字符“;”时Reader 将其视为分隔符并将 VALUE 分为两个字段。
(2) 当 (1) 不是问题时,JSON-VALUE 字段会被误解为开头少一个引号,末尾多一个引号。例如:
['field1','{JSON-KEY": "JSON-VALUE"}"','field3']
这两个问题可能是相关的,但我无法通过使用 Python 文档和其他问题来解决这个问题。有谁知道我在这里缺少什么以及如何配置阅读器来处理这个问题?
最佳答案
实际上,csv数据无效。引号应该像这样转义:
"field1";"{""JSON-KEY"": ""JSON-VALUE""}";"field3"
如果您无法控制 csv 数据的生成,您可以尝试使用 quotechar=''
,然后删除字段中的引号。
但是如果json数据中有;
,那就有问题了。
另一种选择是手动读取第一个和最后一个字段,并将它们之间的数据视为 json 数据。
关于python - 如何忽略带引号的字段中的 CSV 分隔符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51567135/