我有一个CSV数据转储,格式如下:
"field1";"{"JSON-KEY": "JSON-VALUE"}";"field3"
如果我像这样使用CSV Python阅读器...
csv.reader(csvfile, delimiter=';', quotechar='"')
我有两个问题:
(1)当JSON值字符串包含分隔符';‘时,读取器将其视为分隔符,并将该值分成两个字段。
(2)当(1)不是问题时,JSON-VALUE字段被误解为开头少了一个引号,结尾多了一个引号。例如:
['field1','{JSON-KEY": "JSON-VALUE"}"','field3']
这两个问题可能是相关的,但我不能在这里使用Python文档和其他问题来解决这个问题。有没有人知道我在这里遗漏了什么,我如何配置读取器来处理这个问题?
发布于 2018-07-28 09:02:55
实际上,csv数据是无效的。引号应该像这样转义:
"field1";"{""JSON-KEY"": ""JSON-VALUE""}";"field3"
如果无法控制csv数据的生成,可以尝试使用quotechar=''
,然后修剪字段中的引号。
但是,如果json数据中有;
,就会有问题。
另一种选择是手动读取第一个和最后一个字段,并将这两个字段之间的数据视为json数据。
https://stackoverflow.com/questions/51567135
复制相似问题