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

使用Pandas读取竖线分隔CSV文件时列分隔失败问题求助

解决Pandas按'|'分隔读取CSV失败的问题

可行解决方案

  • 确认实际分隔符:
    部分文件的分隔符看似是|,实际可能是全角竖线|、带空格的|等。先读取文件首行验证:

    with open('C:/dane/raport_d.csv', encoding='ansi') as f:
        print(f.readline())
    

    根据输出调整sep参数,比如带空格用sep='\s*\|\s*',全角竖线用sep='|'。

  • 切换读取引擎:
    默认C引擎对特殊分隔符可能存在兼容问题,换成Python引擎重试:

    df = pd.read_csv('C:/dane/raport_d.csv', encoding='ansi', low_memory=False, sep='|', engine='python')
    
  • 调整文件编码:
    若ansi编码不匹配,尝试Windows常用的gbk编码:

    df = pd.read_csv('C:/dane/raport_d.csv', encoding='gbk', low_memory=False, sep='|')
    
  • 手动拆分数据(兜底方案):
    若以上方法无效,可先按单列读取,再手动拆分:

    # 按单列读取所有内容
    df_raw = pd.read_csv('C:/dane/raport_d.csv', encoding='ansi', low_memory=False, sep=None, header=None)
    # 拆分表头
    headers = df_raw.iloc[0, 0].split('|')
    # 拆分数据行并设置表头
    df = df_raw.iloc[1:, 0].str.split('|', expand=True)
    df.columns = headers
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 15:44:51