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

使用pandas的pd.read_csv读取CSV文件出现ParserError错误是什么原因

报错原因

这个报错的核心是csv文件的字段数量不匹配:pandas读取文件时默认根据前几行内容推断表格共有3列,但读取到第3行时,该行按默认分隔符(英文逗号)拆分后得到4个字段,数量不匹配导致解析失败。
常见的触发场景有三种:

  • 第3行的某个字段值本身包含英文逗号,且没有用引号包裹,被误判为字段分隔符
  • 前两行存在合并单元格、异常空值等问题,导致pandas推断的列数比实际少
  • 整个csv的行结构本身不规整,不同行的字段数量不一致
可选解决方案

方案1:跳过异常行(临时验证场景适用)

pandas 1.3.0及以上版本可以添加on_bad_lines='skip'参数直接跳过字段数不匹配的行,旧版本可替换为error_bad_lines=False

import pandas as pd
df = pd.read_csv('Case1.csv', on_bad_lines='skip')

方案2:手动指定列名强制读取

如果你确认文件实际列数为4,可以手动传入和列数匹配的自定义列名,强制pandas按指定列数读取

df = pd.read_csv('Case1.csv', names=['列1', '列2', '列3', '列4'])

方案3:修正分隔符/引号解析规则

如果是字段内含逗号导致的误拆分,可以指定csv的引号规则:

# 字段用双引号包裹的场景适配
df = pd.read_csv('Case1.csv', quotechar='"')

方案4:手动修正原文件

直接打开Case1.csv定位第3行,检查格式错误并修正后再读取,是最彻底的解决方式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 16:45:03