问答 python 读取 csv 文件出现解码失败,请问这是什么原因呢,求指点

Lemon_107 · July 29, 2025 · Last by Lemon_107 replied at July 30, 2025 · 1914 hits

打开文件时指定了 encoding='utf-8',但是运行脚本还是出现了报错,尝试用记事本另存查看 CSV 文件的真实编码也是 UTF-8 以及添加错误处理参数(errors='ignore'),运行还是出现相同的问题,有小伙伴遇到类似问题的吗,求指点~


再次尝试读取文件使用绝对路径,并使用 chardet.detect() 获取文件实际编码,将检测到的编码应用到文本读取模式中,还是出现了相同的问题。

共收到 11 条回复 时间 点赞

看错误提示不是 gbk decoder 在解析文件吗。是不是 csv.read 也需要设置编码哦

Zzzzzz 回复

这个试了一下,也是不行的呢,请问需要什么特殊处理吗

你的 csv 不是纯的吧,
1.直接打开应该是带了格式的那种,
2.或者用 pycharm 打开文本,能看到不是单纯的 逗号隔开的,或者第一个行有 ** 之类的字符

wupengfeng 回复

直接用 pycharm 打开文本,这个应该只有逗号隔开的呢,记得之前是可以跑通的,后面其他项目安装过 excelReader 插件,不知道是不是因为这个导致的,但是现在把插件卸载了就还是会出现报错问题。

你可以自己用 py 创建一个带中文的 csv,再 read 看会不会出错,不出错就说明原来你读的那个是个脏文件……还出错的话,建议你换 vscode,验证一下看看是不是 IDE 的设置造成的

Lemon_107 回复

尝试新建个 csv 文档试试 (txt 纯文本改名)? 不行再试试这个 encoding='utf-8-sig'

按说指定了 utf8 不应该再提示 gbk 编码问题,是否有其他地方的代码在读文件,仔细看看完整的 stacktrace 看是否是这一段代码报错的呢。或者单独把这一段拿出来运行试试。

ide 工具、输入文件编码、输出文件编码全部换成 GBK 试下,如果没报错那就把 ide 工具、输入文件编码、输出文件编码,全换成 utf-8

这种问题,可以直接问豆包,比任何人都回答的好

Lemon_107 #10 · July 30, 2025 Author
Zzzzzz 回复

嗯嗯找到问题了,是在其他项目配置插件的时候在该项目所在盘新建了一个 pytest.ini 配置文件,导致读取文件时出了问题,感谢~

Lemon_107 #11 · July 30, 2025 Author

感谢各位提供的思路~

Lemon_107 关闭了讨论 30 Jul 17:59
需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up