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

Jupyter Notebook导入CSV遇UnicodeDecodeError错误求解决

解决Pandas读取CSV时的UnicodeDecodeError问题

这个问题我之前也碰到过,本质是编码不匹配导致的——错误里的0xae字节是注册商标符号®的Windows-1252编码值,说明你的CSV文件大概率不是用UTF-8编码保存的,而是Windows系统常用的编码(比如Windows-1252、GBK等)。另外你提到的unicode=16参数是错误用法,Pandas里没有这个参数,应该是encoding='utf-16',但显然你的文件不是UTF-16编码,所以没效果。

下面给你几个靠谱的解决思路:

  • 直接尝试Windows常用编码:
    先优先试试windows-1252编码,这是触发这个错误最常见的原因,代码如下:

    df = pd.read_csv('Superstore-Sales.csv', encoding='windows-1252')
    

    如果不行,再依次尝试gbk、cp1251这类Windows相关编码。

  • 自动检测文件编码:
    如果你不确定文件到底用的什么编码,可以用chardet库来精准检测:

    1. 先安装chardet:
      pip install chardet
      
    2. 运行检测代码:
      import chardet
      with open('Superstore-Sales.csv', 'rb') as f:
          detection_result = chardet.detect(f.read())
      print(f"检测到的编码:{detection_result['encoding']}")
      

    把检测到的编码填到pd.read_csv的encoding参数里即可。

  • 应急方案:忽略解码错误(不推荐):
    如果你只是想先把数据读进来,暂时不想纠结编码细节,可以用errors='ignore'参数跳过错误字符,但这样会丢失部分数据,只建议应急使用:

    df = pd.read_csv('Superstore-Sales.csv', encoding='utf-8', errors='ignore')
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:31:35