使用Python的csv.reader处理转义的引号

时间:2014-05-27 19:12:10

标签: python csv escaping quotes

使用python的csv模块,我正在尝试读取一些CSV数据。

我正在使用代码:

dialect = csv.Sniffer().sniff(csv_file.read(1024))
csv_file.seek(0)
reader = csv.reader(csv_file, dialect)

for line in reader:
    ...

除了包含转义引号的行外,一切正常:

11837,2,NULL,"\"The Take Over, The Breaks Over\"","Fall Out Boy"

这样的行被标记为:

['11837', '2', 'NULL', '\\The Take Over', ' The Breaks Over\\""', 'Fall Out Boy']

方言包含以下属性:

dialect.quotechar = "
dialect.quoting = 0
dialect.escapechar = None
dialect.delimiter = ,
dialect.doublequote = False
dialect.lineterminator = \n

除了编写自己的CSV解析器之外,我还能做些什么吗?

1 个答案:

答案 0 :(得分:6)

如果我没弄错的话,dialect.escapechar = None应为dialect.escapechar = '\\'

If you look at the examples in the docs,肯定似乎建议进行改动