【问题标题】:'utf-8' codec can't decode byte 0xa0 in position 24: invalid start byte“utf-8”编解码器无法解码位置 24 中的字节 0xa0:无效的起始字节
【发布时间】:2019-08-10 15:04:52
【问题描述】:

我正在尝试使用以下Python 代码行读取csv 文件:

crimes = pd.read_csv('C:/Users/usuario1/Desktop/python/csv/001 Boston crimes/crime.csv', encoding = 'utf8')
crimes.head(5)

但我收到如下解码错误:

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa0 in position 24: invalid start byte

出了什么问题?

【问题讨论】:

  • 你能发布一个CSV文件的例子吗?

标签: python pandas


【解决方案1】:

可能是您的文件不支持utf-8 编解码器或包含不支持utf-8 的字符。您可以尝试其他编码,例如ISO-8859-1。但最好先检查您的文件编码。为此,应该使用以下类似的方法: 1.

    with open('Your/file/path') as f:
        print(f)

这应该打印带有编码的文件详细信息。

  1. 或者您可以只打开 csv,然后转到“文件”->“另存为”,这应该会显示您的编码。

  2. 如果这些没有帮助,您可以使用 `error_bad_lines=False' 忽略导致问题的行

    crimes = pd.read_csv('Your/file/path', encoding='utf8', error_bad_lines=False)
    

    希望这些对你有帮助

【讨论】:

  • 您好 Niaz,感谢您的回答!我已经尝试了第 1 点并给了我以下消息: <_io.textiowrapper name="C:/Users/usuario1/Desktop/python/csv/001 Boston crime/crime.csv" mode="r" encoding=" cp1252"> 我不确定这是什么意思...
  • cp1252 是您文件的编码类型。你可以试试crimes = pd.read_csv('Your/file/path', encoding='cp1252')这个链接可以帮助你github.com/pandas-dev/pandas/issues/…
猜你喜欢
  • 2018-06-12
  • 2023-01-11
  • 2021-06-12
  • 2021-10-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-10
  • 2020-06-22
相关资源
最近更新 更多