代碼:
df_w = pd.read_table( r'C:\Users\lab\Desktop\web_list_n.txt', sep=',', header=None)
當我用pandas的read_table方法讀取本地文件時,爆出這個錯誤:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xce in position 52: invalid continuation byte
查詢一番,找到了原來這就是Python 編碼中最常見也是最頑固的兩個錯誤:
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
UnicodeDecodeError: 'utf-8' codec can't decode bytes in position 0-1: invalid continuation byte
也就是編碼解碼的問題,我這個錯誤就是‘utf-8’不能解碼位置52的那個字節(0xce),也就是這個字節超出了utf-8的表示范圍了,編碼解碼詳細請參見https://segmentfault.com/a/1190000004625718
解決辦法:
df_w = pd.read_table( r'C:\Users\lab\Desktop\web_list_n.txt', encoding='ISO-8859-1', sep=',', header=None)
也就是在讀取數據的時候,顯式添加編碼方式encoding='ISO-8859-1',別的編碼也可以試試喲
