csv忽略双引号内的逗号

时间:2017-03-16 18:06:22

标签: python csv

"Medical Center Emergency Physicians \"North Shore\"  Houston, TX  EM  MD-DO",2680,18882

我希望将它作为长度3列表读入使用python csv模块这是我期望的输出

["Medical Center Emergency Physicians \"North Shore\" Houston, TX EM MD-DO", '2680', 18882]

我尝试了很多使用不同的参数。但是我尝试的以下所有内容对我都不起作用。所有这些都输出长度为4的列表。我认为这是由休斯顿之后的逗号引起的。但是,我们怎么能忽略它,因为它是双引号?

csv_reader = csv.reader(f, doublequote=True, quoting=csv.QUOTE_ALL)
csv_reader = csv.reader(f, doublequote=False, quoting=csv.QUOTE_ALL)
csv_reader = csv.reader(f, doublequote=False)
csv_reader = csv.reader(f, doublequote=True)
csv_reader = csv.reader(f)

2 个答案:

答案 0 :(得分:2)

只需添加转义字符即可处理csv中的转义引号

csv.reader(f, doublequote=True, quoting=csv.QUOTE_ALL, escapechar='\\')

答案 1 :(得分:1)

您必须使用:

csv.reader(f, quotechar='"')

可能还有一些参数告诉读者引号是\转义的。但是,如果您当前的输出是4个字段,则它似乎会在,上分开,忽略\"

最有可能是这样的:

csv.reader(f, quotechar='"', escapechar='\\')

那些\不应该在您的输出中(除非您需要它们进行进一步处理)。