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

使用Pandas读取特殊格式CSV文件遇ParserError错误求助

解决Pandas读取格式异常CSV文件的问题

你的CSV文件存在两个格式问题:首尾字段缺失双引号、部分字段内部包含分隔符;,导致pd.read_csv解析失败。以下是具体解决方法:

方法一:预处理修复文件格式

先读取文件并修复每行的首尾引号,再用Pandas读取修复后的内容,这种方式能彻底解决格式问题:

import pandas as pd
from io import StringIO

local_path = "./"  # 替换为你的文件路径
fixed_content = []

# 读取原文件并修复每行格式
with open(f'{local_path}/df_pf.csv', 'r', encoding='cp1252') as f:
    # 处理表头(若表头格式与数据行一致,需同样修复;若正常则直接保留)
    header = f.readline().strip()
    fixed_content.append(header)
    
    # 处理数据行:首尾补双引号
    for line in f:
        cleaned_line = line.strip()
        fixed_line = f'"{cleaned_line}"'
        fixed_content.append(fixed_line)

# 将修复后的内容转为可读取的流,再用Pandas解析
df = pd.read_csv(
    StringIO('\n'.join(fixed_content)),
    sep='";"',  # 字段实际分隔符为";"
    engine='python',
    encoding='cp1252',
    quotechar='"'
)

代码说明

  1. 预处理逻辑:给每行首尾添加双引号,让所有字段都被正确包裹,解决首尾字段缺引号的问题。
  2. 解析参数设置:将分隔符设为";"(原文件字段间的实际分隔符),同时指定quotechar='"',让Pandas忽略字段内部的;,避免误拆分。

原代码报错原因

原代码使用sep=';'拆分字段,但文件中字段内部包含;,且首尾字段未被引号包裹,导致Pandas解析时无法识别合法的字段边界,抛出ParserError。

内容的提问来源于stack exchange,提问作者O. Mortosa

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 21:57:31