0
我有一個CSV(TSV)與此頭的Python 3:CSV文件和Unicode錯誤
"Message Name" "Field" "Base Label" "Base Label Update Date" "Translated Label" "Translated Label Update Date" "Language"
"Message" "subject_template" "New Task: Assess Distribution Outcomes for ""${docNameNoLink}"", ""${docNumber}""" "8/10/16 4:17:43 PM" "Nouvelle tâche : évaluez le résultat de la distribution de « ${docNameNoLink} »." "2/17/14 5:09:10 AM" "fr"
文件時,我嘗試使用此代碼
import csv
with open(fileName, 'r', encoding='utf-8', errors='replace') as fdata:
csv.register_dialect('tsv', delimiter='\t', quoting=csv.QUOTE_NONE)
reader=csv.reader(fdata, dialect='tsv')
try:
for row in reader:
print (row)
except csv.Error as e:
sys.exit('file{}, line {}: {}'.format(fileName, reader.line_num, e))
我得到的消息讀取文件錯誤: 文件NameFile,第1行:行包含空字節
不過,如果我沒有錯誤的部分運行這段代碼=「代替|忽略」,同樣的代碼:
with open(fileName, 'r', encoding='utf-8') as fdata:
csv.register_dialect('tsv', delimiter='\t', quoting=csv.QUOTE_NONE)
reader=csv.reader(fdata, dialect='tsv')
try:
for row in reader:
print (row)
except csv.Error as e:
sys.exit('file {}, line {}: {}'.format(fileName, reader.line_num, e))
我得到了以下錯誤消息:
File "csvFiles.py", line 76 in <module>
for row in reader:
File "c:\Python35\lib\codecs.py", line 321 in decode (result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
這是什麼錯誤的可能原因以及如何糾正它,讓這個腳本的工作?