今天在使用python的pandas读取csv文件时总是报一个错误:
“UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte [...] in position [...]: invalid continuation byte”
python代码如下:
import pandas as pd
data_csv = pd.read_csv("test.csv")
一个文件可以正常读取,但是,其中有一个文件却始终不可以。
网上搜索了一些方法,感觉都不对,都是在读取的时候,设置编码之类的。代码示例如下:
import pandas as pd
data_csv = pd.read_csv('test.csv', index_col=0, encoding='ISO-8859-1')
如果文件的内容不是ISO-8859-1还是会导致读取出错。
经过研究,得到的解决方案如下:
在未知名读取文件爱你编码的情况下,默认的编码是UTF-8,说明文件里有字符使用UTF-8读取不出来,这种情况可以通过将文件改成UTF-8编码来解决。
如果编辑器有UTF-8编码转换,可以将文件转换成UTF-8即可,如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/f7577f3c9fde75b926cd2e097e0f8be9.png)
![](https://i-blog.csdnimg.cn/blog_migrate/de23e5cddac8bad41efbbec7ab772261.png)