You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用pandas导入CSV文件避免UnicodeDecodeError错误?

解决CSV导入时的UnicodeDecodeError问题

问题描述

执行以下代码导入CSV文件时:

df = pd.read_csv('movies_metadata.csv')

出现如下解码错误:

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe7 in position 2040: invalid continuation byte

解决方法

1. 指定兼容的编码格式

CSV文件可能并非UTF-8编码,尝试以下常见备选编码:

  • latin-1:兼容所有字节,不会抛出解码错误,是最稳妥的临时方案:
    df = pd.read_csv('movies_metadata.csv', encoding='latin-1')
    
  • cp1252:Windows系统下常用的文本编码格式:
    df = pd.read_csv('movies_metadata.csv', encoding='cp1252')
    

2. 自动检测文件真实编码

使用chardet库检测文件的实际编码:

  1. 先安装chardet工具:
    pip install chardet
    
  2. 检测编码并导入文件:
    import chardet
    
    # 读取文件二进制内容进行编码检测
    with open('movies_metadata.csv', 'rb') as file:
        encoding_result = chardet.detect(file.read())
    
    # 使用检测出的编码导入CSV
    df = pd.read_csv('movies_metadata.csv', encoding=encoding_result['encoding'])
    

3. 忽略解码错误(仅应急使用)

若允许丢失少量字符,可临时设置忽略解码错误,但不推荐长期使用(会丢失数据):

df = pd.read_csv('movies_metadata.csv', encoding_errors='ignore')

内容的提问来源于stack exchange,提问作者Thierry Gilgen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 07:35:18