我认为这可能很简单,但经过一个小时的搜索后,我一直没有搞清楚我做错了什么。为什么Python CSV阅读器忽略双引号字段?
我正在使用下面的代码来读取CSV文件 - 我没有读取文件的问题,但是当一行包含一个双引号的字段,因为它包含分隔符时,CSV阅读器会忽略双击引号,引号并将该字段解析为2个单独的字段。
下面是我使用的代码:
myReader = csv.reader(open(inPath, 'r'), dialect='excel', delimiter=',', quotechar='"')
for row in myReader:
print row,
print len(row)
我输入:
hello, this is row 1, foo1
hello, this is row 2, foo2
goodbye, "this, is row 3", foo3
这给了我:
['hello', ' this is row 1', ' foo1'] 3
['hello', ' this is row 2', ' foo2'] 3
['goodbye', ' "this', ' is row 3"', ' foo3'] 4
什么我需要改变,因此它可以识别双引号字段作为一个字段? 我正在使用python版本2.6.1。
谢谢!
这是错误的:''csv.reader()''有'skipinitialspace'选项来处理这些空白。 – MERose