python - pandas读取中文的时候乱码 要如何解决?
问题描述
下载了一份新浪微博的数据,但是原始数据是用csv的,在mac上没办法直接打开,读取的时候,也会错误,会出现
UnicodeDecodeError: ’utf-8’ codec can’t decode byte 0x84 in position 36: invalid start byte
然后自己google,发现read_csv(’file’, encoding = 'ISO-8859-1') 这样的时候读取不会有错
但是读取进来发现是这样的:
中文全部
然后测试了read_csv(’file’, encoding = 'gbk')read_csv(’file’, encoding = 'utf8')read_csv(’file’, encoding = 'gb18030')总之就是各种不行~基本的情况如下:
UnicodeDecodeError: ’gb18030’ codec can’t decode byte 0xaf in position 12: incomplete multibyte sequence
有大神遇到类似的情况吗?
有大神说要数据 因为比较大,热心的人可以看看 不过我觉得挺有用的下面是微博的数据链接:http://pan.baidu.com/s/1jHCOwCI 密码:x58f
补充一下代码吧~上面随意一个文件下载下来(是csv格式的)然后用pandas打开就会出错~
import pandasdf = pandas.read_csv('week1.csv')
问题解答
回答1:给代码和原数据
你写点能代码+有代表性的数据 即可,别搞几G的大数据阿~
谁看啊?
回答2:跟你一样的情况,试了很多编码仍然没有用,但是看数据用UTF8编码的话,有的数据能转换成功,所以我暂时能想到的办法就是用open去按行读取,如果出现编码转换错误就丢掉,这样下来数据量其实也不少
回答3:你也可以试试用cp1252。最好的方法是先通过chardet包(https://pypi.python.org/pypi/...)看文件具体上用什么encoding。
回答4:试过了没有问题呀,我猜想应该是你环境编码问题吧,可以尝试一下以下代码
#coding=utf-8import pandas as pdimport sysreload(sys)sys.setdefaultencoding('utf-8')df = pd.read_csv(’week1.csv’, encoding=’utf-8’, nrows=10)print df
相关文章:
1. 点字符“” 在MVC Web API 2中进行请求,例如api / people / STAFF.452872. javascript - thymeleaf模板 只有length如何循环生成标签?3. golang - 用IDE看docker源码时的小问题4. 如何解决docker宿主机无法访问容器中的服务?5. 求大神指点js修改margintop导致无限下滑的问题6. node.js - 我是一个做前端的,求教如何学习vue,node等js引擎?7. javascript - node如何关闭主进程后 打开另一进程?8. java - 在Spring初始化过程中阻塞合理吗?9. docker - 各位电脑上有多少个容器啊?容器一多,自己都搞混了,咋办呢?10. python2.7为什么点击了"开始"按钮后,tkinter上的按钮,图中红色部分,再也点不动了?

网公网安备