我正在回圈瀏覽 csv 檔案的行,但在回圈瀏覽行時遇到此錯誤:
'utf-8' codec can't decode byte 0xd5 in position 2912: invalid continuation byte
我只是想用這個函式獲取檔案的行數:
def count_lines(filename):
row_stored = ""
try:
with open(filename) as csvfile:
data_reader = csv.reader(csvfile)
next(data_reader)
count = 0
for index, row in enumerate(data_reader):
if index == 1220119:
print(row)
row_stored = row
count = 1
return count
except Exception as e:
print(f'There was a problem with your request: {e}\n', row_stored)
return False
錯誤行上方的行如下所示:
['817949019495', 'QMMZN1300568', '4/28/2017', 'Digital Revenue', 'Track', 'Download Europe', 'GB', 'Amazon International - UK', '', '2', '1.2126506333579932', '109926407', '2/28/2017']
引發錯誤的行如下所示:
['817949019495', 'QMMZN1300568', '4/28/2017', 'Digital Revenue', 'Track', 'Download Europe', 'GB', 'Amazon International - UK', '', '2', '1.2126506333579932', '109926407', '2/28/2017']
我看不出兩者有什么區別。這個特定行的格式有什么我沒有看到的嗎?
注意:此 csv 檔案為 3.17 GB。不知道這是否是一個促成因素
uj5u.com熱心網友回復:
更改編碼解決了這個問題
with open(filename, encoding="ISO-8859-1") as csvfile:
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/359268.html
