前言:
在我使用pandas模块对csv文件读取时报错:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd5 in position 0: invalid continuation byte
在查找资料后,发现大部分都不怎么适用,所以在这里做个记录。如果你在读取文件时(csv,table等等)出现类似错误,可以参照如下。
分析:
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
UnicodeDecodeError: 'utf-8' codec can't decode bytes in position 0-1: invalid continuation byte
是两类python编码中最常见的错误,一般都是通过修改编码来解决(认真脸)。
所以请认真看清楚自己的错误区别其他的在哪,例如我的是:
byte 0xd5 in position 0
那么我就用这个去查一下,得到资料:
win默认gbk作为系统内部编码,在命令行cosole调试时使用的是内部编码
最后修改代码:
dataset = pd.read_csv(file,encoding='GBK')
就是说编码解码的问题很多,但都不怎么相同的。看清不能解码的那个字节(即超出了utf-8的表示范围了),然后显示的增加编码方式encoding='GBK'
。
这里的GBK是对应我的这个错误,小伙伴们自己的可以自己找到喔。
最后:
有用的话点个赞呗