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

使用Pandas读取CSV文件遇ParserError,求排查及解决建议

CSV读取ParserError问题解决方法

是否需要转成.xlsx格式?

没必要急着转格式。CSV是纯文本格式,更容易排查和修复格式问题;转成.xlsx反而可能引入新的格式兼容问题,增加排查成本。先解决CSV本身的格式错误更高效。

如何定位有问题的行和列?

  • 用pandas参数临时绕过错误并定位:
    在read_csv里添加on_bad_lines='warn'(pandas 1.4+版本),运行后会打印出有问题的行号和内容;如果用旧版本,可用error_bad_lines=False跳过错误行,之后对比原文件行数和加载后的行数,找出缺失的行。
    示例代码:
    krediler_df = pd.read_csv('KREDILER.csv', encoding='ISO-8859-9', thousands=',', decimal='.', on_bad_lines='warn')
    
  • 直接用文本编辑器检查:
    错误提示明确指出第5行有问题(Expected 3 fields in line 5, saw 5),直接用记事本、VS Code等打开CSV文件,定位到第5行,检查是否有多余的分隔符(比如字段里的逗号没加双引号包裹,导致被误拆分成多个字段),或者引号未闭合的情况。
  • 写简单脚本逐行校验:
    用Python逐行读取文件,统计每行的字段数,和表头的字段数对比,找出不一致的行:
    import csv
    
    with open('KREDILER.csv', 'r', encoding='ISO-8859-9') as f:
        reader = csv.reader(f, delimiter=',')
        header = next(reader)
        expected_fields = len(header)
        for line_num, row in enumerate(reader, start=2):  # 表头是第1行,数据从第2行开始计数
            if len(row) != expected_fields:
                print(f"第{line_num}行有问题,字段数:{len(row)},预期:{expected_fields},内容:{row}")
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 10:42:08