我認爲這可能很簡單,但經過一個小時的搜索後,我一直沒有搞清楚我做錯了什麼。爲什麼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