数据文件如下:
代码及错误:
解决过程:
猜测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) 不用指定编码格式,也可以解决乱码问题。