Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 解析csv时出现双引号问题。_Python_Csv - Fatal编程技术网

Python 解析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 &amp', ' BA', 'C

我有以下格式的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 &amp', ' 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 &amp; BA";"C"
会导致

['1', 'A', 'A:"61 B &amp; BA', 'C']

CSV模块应该如何猜测分隔项的引号和项内引号之间的差异?

我怀疑双引号应该替换为“

您定义了一个在文本中使用的分隔符:符号和实体有一个分号。我建议您将分隔符更改为文本中不会显示的内容。(像管道字符或其他东西。)

如果不指定引号,会发生什么?如果不指定引号,我得到的结果是,['1','a','a:61 B&','BA','C',],因此它仍然会打断字段。