【问题标题】:Is there a way to encode a csv file to UTF-8 in pandas?有没有办法在熊猫中将 csv 文件编码为 UTF-8?
【发布时间】: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


【解决方案1】:

您的数据文件可能以 UTF-8 编码,因为字符 0xd1 在编码 ISO8859-1 中是 Ñ

所以,使用下面的行:

data = pd.read_csv('Downloads/samplefile.csv',low_memory=False, encoding='iso8859-1')

【讨论】:

    猜你喜欢
    • 2011-06-28
    • 2020-07-04
    • 1970-01-01
    • 2021-02-24
    • 2018-01-16
    • 1970-01-01
    • 2020-10-11
    • 2015-06-13
    • 2013-09-12
    相关资源
    最近更新 更多