首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何忽略带引号的字段中的CSV分隔符?

如何忽略带引号的字段中的CSV分隔符?
EN

Stack Overflow用户
提问于 2018-07-28 08:52:00
回答 1查看 707关注 0票数 1

我有一个CSV数据转储,格式如下:

代码语言:javascript
复制
"field1";"{"JSON-KEY": "JSON-VALUE"}";"field3"

如果我像这样使用CSV Python阅读器...

代码语言:javascript
复制
csv.reader(csvfile, delimiter=';', quotechar='"')

我有两个问题:

(1)当JSON值字符串包含分隔符';‘时,读取器将其视为分隔符,并将该值分成两个字段。

(2)当(1)不是问题时,JSON-VALUE字段被误解为开头少了一个引号,结尾多了一个引号。例如:

代码语言:javascript
复制
 ['field1','{JSON-KEY": "JSON-VALUE"}"','field3']

这两个问题可能是相关的,但我不能在这里使用Python文档和其他问题来解决这个问题。有没有人知道我在这里遗漏了什么,我如何配置读取器来处理这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-28 09:02:55

实际上,csv数据是无效的。引号应该像这样转义:

代码语言:javascript
复制
"field1";"{""JSON-KEY"": ""JSON-VALUE""}";"field3"

如果无法控制csv数据的生成,可以尝试使用quotechar='',然后修剪字段中的引号。

但是,如果json数据中有;,就会有问题。

另一种选择是手动读取第一个和最后一个字段,并将这两个字段之间的数据视为json数据。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51567135

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档