【发布时间】:2015-04-27 20:28:08
【问题描述】:
我正在尝试从我无法控制的外部系统解析 CSV 文件。
- 逗号用作分隔符
- 当单元格包含逗号时,它会用引号括起来,所有其他引号都用另一个引号字符转义。
- (我的问题)当单元格没有用引号括起来时,所有引号字符都会用另一个引号转义。
CSV 示例:
qw""erty,"a""b""c""d,ef""""g"
应该被解析为:
[['qw"erty', 'a"b"c"d,ef""g']]
但是,我认为 Python 的 csv 模块不希望首先在单元格未包含在引号字符中时转义引号字符。
csv.reader(my_file)(默认为doublequote=True)返回:
['qw""erty', 'a"b"c"d,ef""g']
有没有办法用 python csv 模块解析这个?
【问题讨论】:
-
为什么不用
'\\"'替换双引号内的所有'""'实例?那么csv阅读器应该可以正常工作了。 -
你的引号字符和转义字符是一样的吗?
-
@JackManey“双引号内”片段是不必要的,但总的来说,我认为只要我也转义所有“\”字符,它就会起作用。