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

使用Pandas读取CSV文件时跳过行,如何完整加载所有行?

你的CSV里部分保险公司名称带逗号(比如Clear Blue Insurance Company, Inc.),用pd.read_csv默认配置读取时,会把这些逗号当成列分隔符,导致行的列数不匹配,最终被error_bad_lines=False跳过。给你两个靠谱的解决办法:


方法1:手动读取分割,精准处理带逗号的字段

这种方法能避开解析器的自动错误判断,直接按行处理:

import pandas as pd

rows = []
with open("你的文件路径.csv", "r", encoding="utf-8") as f:
    # 提取表头,忽略末尾空列
    header = f.readline().strip().split(", ", 2)[:2]
    # 遍历处理每一行数据
    for line in f:
        if line.strip():
            # 最多分割2次,保证公司名称不会被拆断
            parts = line.strip().split(", ", 2)[:2]
            rows.append(parts)

# 转成DataFrame
df_insr = pd.DataFrame(rows, columns=header)

方法2:指定多字符分隔符

观察你的CSV,列之间是「逗号+空格」分隔的,直接指定这个分隔符即可,注意要启用Python引擎(C引擎不支持多字符分隔符):

import pandas as pd

df_insr = pd.read_csv(
    "你的文件路径.csv",
    sep=", ",
    engine="python",
    usecols=[0, 1]  # 跳过末尾的空列
)

额外提示

新版本Pandas里error_bad_lines已经被弃用了,现在用on_bad_lines="warn"能看到跳过行的警告,但这只是提示,解决不了根本问题,还是得调整解析逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 18:45:28