zhengyyao

导航

pandas read_csv 出现中文乱码

数据文件如下:

 

代码及错误:

解决过程:

猜测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) 不用指定编码格式,也可以解决乱码问题。

posted on 2017-09-05 18:44  zhengyyao  阅读(13550)  评论(0)    收藏  举报