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

使用pd.read_csv()时ParserError报错处理及skiprows计数规则疑问

pandas读取CSV时ParserError报错解决方案及skiprows参数规则说明

自动跳过所有错误行的实现方法

pandas 1.4.0及以上版本直接在pd.read_csv()中添加on_bad_lines='skip'参数即可,会自动跳过所有字段数不匹配的异常行,无需手动维护skiprows列表:

df1 = pd.read_csv('df1.csv', on_bad_lines='skip')

如果使用pandas 1.4.0之前的旧版本,替换为以下两个参数即可:

df1 = pd.read_csv('df1.csv', error_bad_lines=False, warn_bad_lines=True)

其中warn_bad_lines设为True时,会在跳过异常行时打印提示,方便统计被过滤的行数,不需要提示可以改为False。

skiprows参数计数规则差异说明

你观察到的计数差异,本质是skiprows接收不同类型参数时的语义完全不同:

  • 传入单个整数n时,参数含义是跳过文件开头的前n行,不是跳过序号为n的某一行。比如skiprows=177是跳过文件第1到177行,从第178行开始读取,如果你之前误认为该写法是仅跳过第177行,属于对参数语义的理解偏差。
  • 传入列表时,列表中的元素是文件行的0-based索引:文件第一行的索引为0,第二行索引为1,以此类推。而ParserError报错中给出的行号是1-based计数的,比如报错提示的第12541行,对应的索引就是12541-1=12540,所以你需要在列表中填写「报错行号-1」才能匹配到对应行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 05:15:01