數據文件如下:
代碼及錯誤:
解決過程:
猜測read_csv()不能讀取xlsx文件,於是把xlsx文件另存為csv格式,然而依然亂碼,不過數據行數是對的。
嘗試一(可行):
調用read_csv()時,指定編碼格式
文件編碼格式是GB2312
嘗試二(有問題):
把文件類型修改為utf-8后,使用pd.read_csv('./table4-3.csv') ,仍然亂碼;指定編碼utf-8調用read_csv則報錯;指定編碼gb2312不報錯,且無亂碼。好奇中?
嘗試三(可行):
將文件另存為txt, 再使用Sublime text打開新保存的文件,按照utf-8 with dom編碼格式再保存一次,最后調用read_table()讀文件。
總結:
1. txt文件使用read_table()
2.csv文件使用read_csv()
3.csv文件的編碼為gb2312或utf-8時,指定編碼格式pd.read_csv(name, encoding='gb2312')可解決亂碼問題。
4.如果編碼格式為utf-8,則另存為txt文件,pd.read_table(name) 不用指定編碼格式,也可以解決亂碼問題。