Python 解析csv时出现双引号问题。
我有以下格式的csv文件Python 解析csv时出现双引号问题。,python,csv,Python,Csv,我有以下格式的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文件的代码
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,',',':61 b&a,BA,'c' ] /COD>这是完全好的,但是为什么在字段中间的双引号会引起问题,即使定界符和QuoTeCar已经被定义了吗? 您的csv文件无效。如果引号出现在(带引号的)字符串中,则必须将其加倍进行转义
"1";"A";"A:""61 B & BA";"C"
会导致
['1', 'A', 'A:"61 B & BA', 'C']
CSV模块应该如何猜测分隔项的引号和项内引号之间的差异?我怀疑双引号应该替换为“您定义了一个在文本中使用的分隔符:符号和实体有一个分号。我建议您将分隔符更改为文本中不会显示的内容。(像管道字符或其他东西。)如果不指定引号,会发生什么?如果不指定引号,我得到的结果是,['1','a','a:61 B&','BA','C',],因此它仍然会打断字段。