首页 >后端开发 >Python教程 >在 Pandas 中读取 CSV 文件时如何解决 UnicodeDecodeError?

在 Pandas 中读取 CSV 文件时如何解决 UnicodeDecodeError?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-26 09:16:11433浏览

How Can I Resolve UnicodeDecodeError When Reading CSV Files in Pandas?

UnicodeDecodeError:解决在 Pandas 中读取 CSV 文件时的编码问题

简介

使用CSV 文件通常会带来编码挑战,特别是在遇到默认不支持的字符时编码。 Pandas 是 Python 中流行的数据操作库,提供 read_csv() 方法来从 CSV 文件导入数据。但是,此方法在处理 Unicode 编码字符时偶尔会遇到 UnicodeDecodeError。

错误分析

提供的错误消息表明 read_csv() 方法正在挣扎使用默认的 UTF-8 编码对文件中的字节进行解码。无效的连续字节表明该文件可能已使用不同的编码进行编码。

解决问题

要解决此错误,您可以在以下情况下显式指定编码:读取 CSV 文件。 Pandas 为此提供了编码参数。可以采用以下方法:

  • ISO-8859-1 编码:
    使用 ISO-8859-1 编码,该编码通常用于西方欧洲性格集:

    data = pd.read_csv(filepath, encoding="ISO-8859-1")
  • UTF-8 编码:
    或者,尝试使用 UTF-8 编码,它适用于全球字符集:

    data = pd.read_csv(filepath, encoding="utf-8")

其他别名也可以使用 ISO-8859-1,例如“latin”或“cp1252”。请参阅 Pandas 文档或 Python 文档以获取支持的编码的完整列表。

检测文件编码

如果您不确定 CSV 文件的编码,您可以使用 enca、Linux 上的 file -i 或 macOS 上的 file -I 等工具来确定正确的编码。

其他资源

  • [Pandas read_csv() 文档](https://pandas.pydata.org/pandas-docs/stable/reference /api/pandas.read_csv.html)
  • [Python csv 模块示例](https://docs.python.org/3/library/csv.html#examples)
  • [每个开发人员应该了解的有关 Unicode 和字符集的知识](https://unicode.org/报告/tr15/)

以上是在 Pandas 中读取 CSV 文件时如何解决 UnicodeDecodeError?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn