【发布时间】:2021-09-23 21:42:55
【问题描述】:
我的代码:data = pd.read_csv('Downloads/samplefile.csv',low_memory=False, encoding='utf-8')
我收到错误:UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd1 in position 258663: invalid continuation byte
感谢任何帮助。
【问题讨论】:
-
在 ISO8859-1 中,字符 0xd1 是 Ñ。你试过那个编码吗?
-
@PauloMarques 你建议尝试 encoding = Ñ 吗?
-
这是一个解码操作,看起来这个文件不是 utf-8 编码的。由于我们没有数据,我们不能真正说出来。您可以编写一个快速测试,仅使用 utf-8 编码打开并读取文件,而不使用 pandas,只是常规打开,然后查看失败的位置。这是文件中的第一个非 ASCII 字符吗?是否使用其他 Windows 代码页编码?
-
@TeflonMusk,我建议使用:
data = pd.read_csv('Downloads/samplefile.csv',low_memory=False, encoding='iso8859-1') -
如果文件是在 Windows 上生成的,则更有可能是
cp1252(又名Windows-1252)。
标签: python pandas dataframe csv utf-8