【发布时间】:2013-07-29 21:26:13
【问题描述】:
我正在使用 Python 解析一个 csv 文件。
CSV 文件如下所示:
value1,value2,value3(a,b,c)
Python 代码:
with open(file_path, 'rb') as this_file:
reader = csv.reader(this_file, delimiter=',')
for row in reader:
print row
显然 CSV 阅读器将其解释为:
"value1","value2","value3(","a","b","c)"
阻止 Python 将 value2() 分解为四个值的最佳方法是什么?
谢谢。
【问题讨论】:
-
使用 csv 模块或在 excel 或 open office 中正确创建 csv 文件...如果您这样做,csv 管理器将正确转义嵌套的逗号
-
那么你希望它如何解释它?尽管可能很不方便,但您可以自己编写一些东西并使用 split()。如果您无法正确格式化 csv 文件,我会这样做。
-
您的 CSV 文件严重格式错误。在
value3周围加上引号,使其成为有效的 CSV 值。 -
Joran - 我无法控制 CSV 的生成。 @aleksander-lidtke - 我希望它是 val1、val2、val3(a,b,c)。我希望避免分裂。感谢您的回复!
-
并删除逗号后的空格。简而言之,这根本不是 CSV 文件。您可能需要编写自己的解析器。