pandas读写操作编码问题 'gbk' codec can't decode byte 0x80 in position 41: illegal multibyte sequence

关于这个问题的解决方式有一下几个着重点,这里分享一下,希望大家能够避开这个误区。

第一点,如果出现这个报错,可以看一下是不是自己是不是有以下的操作

å¨è¿éæå¥å¾çæè¿°

这时候需要在open函数后面加上编码方式,并规定是utf-8,

原因在于:

Python 3里面字符串的默认编码是Unicode:这样,从网页中爬取的内容,如:data = BeautifulSoup(comment,'lxml').get_text()在代码里面是存在字符串变量里。
但是,Windows下面新建的文本文件默认的编码是gbk(Windows简体中文版的系统默认编码就是gbk)
这样一来,当把从网页上读取的内容写到文本文件里面去的时候,意味着把一个unicode的字符序列写入到一个编码是gbk的文件,就会出错了。
如果依然解决不了问题,可以采取第二种措施:

第二点,找到你的python文件下的lib文件,在里面找到subprocess.py文件,里面有一个class Popen()的类,将里面的初始化的编码方式改成UTF-8就可以了

另外说一下我出现问题的背景,我是运行一个保存的js文件,然后出现这个问题,我才用第一个方法,没有解决,然后就在第一个的基础上采用第二个,解决了问题,我尝试了一下,如果第一点的encoding参数不加,还是会报错的。

希望对你有用,但是可能出现的问题不是一样的,所以异地那个要看清楚出现问题的背景。

最后也感谢https://blog.csdn.net/weixin_42555080/article/details/88219318的分享,部分内容来源于这个博客。

你可能感兴趣的:(pandas读写操作编码问题 'gbk' codec can't decode byte 0x80 in position 41: illegal multibyte sequence)