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

如何解决使用Pandas读取CSV文件时的编码错误?

解决pandas读取CSV的编码错误问题

错误原因分析

报错'utf-8' codec can't decode byte 0xff in position 0: invalid start byte,说明文件开头的字节0xff不符合UTF-8编码规则,大概率是文件采用UTF-16编码(带BOM头),UTF-16LE格式的文件开头就是0xff 0xfe字节。

具体解决方案

  • 直接指定UTF-16编码读取
    尝试用utf-16或utf-16le编码读取,同时注意路径的转义问题(用双反斜杠或原始字符串):

    # 方法1:转义路径
    df = pd.read_csv("D:\\jihyun0115\\desktop\\dataframe01.csv", encoding='utf-16')
    # 方法2:原始字符串路径
    df = pd.read_csv(r"D:\jihyun0115\desktop\dataframe01.csv", encoding='utf-16le')
    
  • 自动检测文件编码
    用chardet库检测文件的真实编码:

    1. 先安装chardet:
      pip install chardet
      
    2. 运行检测代码:
      import chardet
      
      with open(r"D:\jihyun0115\desktop\dataframe01.csv", 'rb') as f:
          detect_result = chardet.detect(f.read())
      print("检测到的编码:", detect_result['encoding'])
      
    3. 用检测出的编码替换encoding参数即可。
  • 手动转换文件编码
    如果上述方法都无效,用文本编辑器(如Notepad++)打开文件:

    1. 查看当前编码:点击顶部菜单「编码」,查看当前选中的编码;
    2. 转换编码:选择「编码」→「转换为UTF-8」(或其他兼容编码),保存后再用pandas读取。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 17:51:18