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

Jupyter Notebook使用pandas读取csv文件报ParserError错误如何解决

错误原因

ParserError: Expected 5 fields in line 16, saw 6 触发的根本原因是:pandas根据CSV前几行/表头推断每行有5个字段,但第16行实际被分隔符拆分出了6个字段,通常是字段内容包含默认分隔符(逗号)、字段引用符不匹配、行内容格式异常导致。

解决方案
  • 方案1:临时跳过异常行(快速调试用,会丢失异常行数据)
    pandas 1.4及以上版本使用如下代码:
df = pd.read_csv("C:/Users/Jens/Projektarbeit - Ticket Intelligence/train_mail.csv", on_bad_lines='skip')

pandas 1.3及更早版本使用如下代码:

df = pd.read_csv("C:/Users/Jens/Projektarbeit - Ticket Intelligence/train_mail.csv", error_bad_lines=False, warn_bad_lines=True)
  • 方案2:显式指定解析规则适配CSV格式
    如果CSV中字段用引号包裹避免内容里的分隔符被误识别,可指定引用符参数:
df = pd.read_csv("C:/Users/Jens/Projektarbeit - Ticket Intelligence/train_mail.csv", quotechar='"')

如果你的CSV实际分隔符不是默认逗号,比如是分号、制表符,可显式指定分隔符:

# 分号分隔的场景
df = pd.read_csv("C:/Users/Jens/Projektarbeit - Ticket Intelligence/train_mail.csv", sep=';')
# 制表符分隔的场景
df = pd.read_csv("C:/Users/Jens/Projektarbeit - Ticket Intelligence/train_mail.csv", sep='\t')
  • 方案3:手动修正原始CSV(最优,无数据丢失)
    直接打开原始CSV文件定位第16行,检查是否存在多余分隔符、引号未闭合、内容格式错误,修正后重新读取即可。

  • 方案4:强制保留固定列数
    如果你确认数据只有5列,多出来的内容属于无效冗余,可指定只读取前5列:

# 可将col1-col5替换为你实际的列名
df = pd.read_csv("C:/Users/Jens/Projektarbeit - Ticket Intelligence/train_mail.csv", names=['col1','col2','col3','col4','col5'], usecols=range(5))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 03:39:02