2016-09-08 81 views
1

嘗試從CSV文件讀取數據並將數據寫入XML文件。我遇到:UnicodeDecodeError:'ascii'編解碼器無法通過讀取CSV解碼字節

UnicodeDecodeError: 'ascii' codec can't decode byte 0x8a in position 87: ordinal not in range(128) 

我的問題是什麼是最好的方式來忽略這種錯誤,並繼續處理數據集。閱讀其他類似的問題後,我沒有補充:# -*- coding: utf-8 -*-到我的文件,但它並沒有幫助

+0

正確解碼輸入,例如讀取爲字節,然後執行'input.decode(「utf-8」)'(如果您的輸入是utf-8)。 – syntonym

回答

0

您可以嘗試打開與編解碼器CSV:

import codecs 
codecs.open(file_name, 'r', 'utf8') 

由於每行包含「\ n」字符串當循環槽線時,您需要應用line.rstrip()

注意:請不要嘗試將值轉換爲str,因爲您會遇到另一個錯誤。

+0

感謝@Boris,想試試你的建議 – user1195192

+0

請閱讀編輯,'\ n'不止一次給我頭痛:) – zipa

+0

這就是我現在閱讀的方式: with open('myFile.csv', 'rb')as ifile: reader = csv.reader(ifile) for rownum,row in enumerate(reader): – user1195192

相關問題