我正在處理一些 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字節。