Python CSV 錯誤:行包含 NULL 字節

| | | | | | | |

我正在處理一些 CSV 文件,代碼如下:

reader = csv.reader(open(filepath, "rU")) try: for row in reader: print "行讀取成功!", 除csv.Error之外的行, e: sys.exit("file %s, line %d: %s" % (filename, reader.line_num, e)) 

一個文件拋出這個錯誤:

file my.csv, line 1: line contains NULL byte 

我能做什麼?谷歌似乎暗示它可能是一個 Excel 文件,它被不正確地保存為 .csv。有什麼辦法可以在 Python 中解決這個問題嗎?

== UPDATE ==

根據下面@JohnMachin 的評論,我嘗試將這些行添加到我的腳本中:

print repr(open(filepath, "rb").read(200)) # 轉儲文件數據的第一個 200 字節 = open(filepath, "rb").read() 打印數據。 find("x00") print data.count("x00") 

這是我得到的輸出:

"xd0xcfx11xe0xa1xb1x1axe1x00x00x00x00x00x00x00x00 .... <剪輯> 8 13834 

所以文件確實包含NUL字節。