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

pandas读取csv报UnicodeDecodeError: 'utf-8'解码错误解决方法

问题说明

读取CSV文件中表头为Peptide Sequence的单列数据时,触发如下编码错误:

UnicodeDecodeError: 'utf-8' codec can't decode byte 0x81 in position 162: invalid start byte

问题复现代码:

import pandas as pd
file = r'C:\...\thpdb.csv'
df = pd.read_csv(file, usecols=['Peptide Sequence'])
print(df)
快速解决方法

报错核心原因是pandas.read_csv()默认使用utf-8编码解码文件,但目标CSV文件实际不是utf-8编码,0x81不属于utf-8的合法起始字节,按优先级尝试以下方案即可快速修复:

  • 方案1:指定国内Windows环境生成CSV最常用的gbk编码读取,修改读取行代码为:
    df = pd.read_csv(file, usecols=['Peptide Sequence'], encoding='gbk')
  • 方案2:如果gbk编码仍报错,尝试Windows西欧语言默认编码cp1252,0x81是该编码下的合法字符:
    df = pd.read_csv(file, usecols=['Peptide Sequence'], encoding='cp1252')
  • 方案3:上述编码都不生效时,使用gbk超集gb18030,兼容绝大多数中文场景下的生僻字符、特殊符号:
    df = pd.read_csv(file, usecols=['Peptide Sequence'], encoding='gb18030')
  • 兜底方案:如果不需要严格还原文件里的所有特殊字符,仅需提取目标列数据,可以加参数直接跳过解码异常的字节,不需要手动匹配编码:
    df = pd.read_csv(file, usecols=['Peptide Sequence'], encoding='utf-8', encoding_errors='ignore')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 07:24:37