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

Python用csv.reader读取csv文件出现UnicodeDecodeError错误怎么解决?

Python读取CSV报UnicodeDecodeError错误解决方案

错误原因

该错误触发原因是待读取的CSV文件实际编码与Python open函数默认使用的utf-8编码不匹配,Windows系统下导出的CSV文件多为GBK、GB2312、cp1252等非UTF-8编码,极易触发该问题。

解决方案

  • 方案1:指定正确的文件编码(推荐)
    优先尝试常用编码,可直接在open函数中添加encoding参数指定编码,示例代码如下:
import csv
# 可根据文件实际编码替换encoding参数值,常见可选值:gbk、gb2312、cp1252、latin-1
with open("file.csv", "r", encoding="gbk") as f:
    csv_reader = csv.reader(f)
    for i in csv_reader:
        print(i)

若不知道文件实际编码,可通过chardet库自动检测,使用方法如下:

  1. 安装chardet库:pip install chardet
  2. 执行编码检测代码:
import chardet

# 二进制模式读取文件内容检测编码
with open("file.csv", "rb") as f:
    detect_result = chardet.detect(f.read())
print("检测到的文件编码为:", detect_result["encoding"])

拿到检测结果后,将对应编码填入open函数的encoding参数即可。

  • 方案2:忽略解码错误(应急使用,可能丢失部分特殊字符)
    若暂时无法确认编码,可添加errors="ignore"参数忽略解码过程中的错误,示例代码如下:
import csv
with open("file.csv", "r", encoding="utf-8", errors="ignore") as f:
    csv_reader = csv.reader(f)
    for i in csv_reader:
        print(i)

内容的提问来源于stack exchange,提问作者Hùng Nguyễn

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 01:36:03