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

Pandas 1.3.x下read_csv报UTF-8解码错误低版本正常问题咨询

问题产生原因
  • Pandas 1.3.0版本对read_csv方法的编码校验逻辑做了破坏性变更:1.2.5及更早版本在未显式指定encoding参数时,对UTF-8解码的容错度更高,遇到少量不符合UTF-8编码规范的字节序列时会自动跳过异常片段完成解析;1.3.x版本收紧了校验规则,采用严格UTF-8解码模式,只要存在非法字节就直接抛出UnicodeDecodeError。
  • 目标文件本身并非严格UTF-8编码,文件中包含少量符合CP1252编码规范的特殊字符(多为西欧语言重音符号、欧元符号等区域特有的字符),1.2.x版本的宽松校验恰好兼容了这部分异常字符,因此可以正常读取;1.3.x的严格校验无法兼容,因此触发解码报错。通过open函数打开识别为UTF-8,大概率是检测工具对混合少量异常字节的文件产生了误判。
同类问题说明

该问题属于Pandas 1.3.x版本的已知兼容性问题,有大量处理非严格UTF-8编码CSV文件的用户反馈过同类报错,尤其是处理欧洲区域生成的CSV文件的场景下,该问题触发频率较高。

可行解决方案
  • 优先采用显式指定编码的方式,即已验证可正常运行的写法:
pd.read_csv('file.csv', decimal= ",", sep=';', encoding='cp1252')

该方案不会出现字符乱码,稳定性最高。

  • 若无法确定文件准确编码,可通过指定errors参数降低解码容错等级:
pd.read_csv('file.csv', decimal= ",", sep=';', encoding='utf-8', errors='replace')

异常字节会被统一替换为�占位符,不会触发解码报错,但可能存在少量字符乱码的风险。

内容的提问来源于stack exchange,提问作者Tomás Lucas

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 08:27:01