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

使用Pandas导入CSV时如何定位编码错误位置?

解决pd.read_csv()的UTF-8解码错误

一、错误信息解读

这个错误直白来说:你用UTF-8编码规则读取CSV文件,但文件里第214567个字节是0x93,这不符合UTF-8的解码规范,导致读取失败。0x93这个字节在Windows-1252编码里对应左弯引号(“),基本可以确定你的CSV文件实际是用Windows-1252、GBK这类编码保存的,而非UTF-8。

二、位置的准确含义

这里的position 214567指的是字节位置,不是字符数。不同编码下单个字符占用的字节数不同:比如UTF-8里一个中文占3字节,Windows-1252里所有字符都占1字节。别直接把它当成第214567个字符去找,得区分字节和字符的差异。

三、用记事本定位问题字节

  • 打开CSV文件后,按Ctrl+G调出「转到」窗口
  • 先确认文件编码:点击「文件」→「另存为」,查看编码下拉框。如果显示「ANSI」(对应Windows-1252),字节数和字符数基本一致,直接输入214567跳转,附近的特殊符号(比如弯引号)就是问题根源;如果是UTF-8编码,直接跳转字符位置不准,建议先把文件转成ANSI再找,或者直接搜索特殊符号。
  • 跳转后就能看到引发错误的特殊字符,一般是弯引号、特殊标点这类非标准ASCII字符。

四、用Excel定位问题

  • 直接打开CSV时,如果Excel识别错了编码,就走「数据」→「自文本/CSV」路径,手动选择Windows-1252或GBK编码打开,避免乱码。
  • 打开后按Ctrl+F查找特殊符号(比如左弯引号“),逐个排查就能找到位置;要是知道大概在哪一行,直接滚动过去找也很方便。

快速绕开错误的方法

其实不用费劲找字符,直接在pd.read_csv()里指定正确编码就行,比如:

pd.read_csv("你的文件.csv", encoding="windows-1252")

或者根据文件实际编码换成encoding="gbk",一般都能直接读取成功。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 07:42:53