【发布时间】:2011-09-07 13:34:44
【问题描述】:
我有以下格式的 csv 文件,
"1";"A";"A:"61 B & BA";"C"
以下是我读取 csv 文件的代码,
with open(path, 'rb') as f:
reader = csv.reader(f, delimiter = ';', quotechar = '"')
for row in reader:
print row
问题是,它在 5 个字段中分行,
['1', 'A', 'A:61 B &', ' BA', 'C']
而我期待我的输出是,
['1', 'A', 'A:61 B & BA', 'C']
当我在 csv 文件中删除 61 B 之前的双引号时,我得到的输出为,
['1', 'A', 'A:61 B & BA', 'C'] 很好,但是为什么即使定义了分隔符和引号字符,字段中间的双引号也会导致问题?
【问题讨论】:
-
如果不指定引号字符会怎样?
-
如果不指定引号字符,我得到的结果是 , ['1', 'A', 'A:61 B &', 'BA"', 'C'],所以它仍然打破了这个领域。