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

如何处理表头逗号、数据行TAB分隔的CSV文件生成Pandas DataFrame?

解决CSV表头与数据行分隔符不同的问题

给你几个可行的解决办法:

办法一:指定Python引擎读取

默认的C引擎对制表符的处理有时会有局限,换成Python引擎能解决大部分兼容问题,还能处理数据行里可能带的空格:

import pandas as pd

df = pd.read_csv(
    'csvfile.csv',
    names=['Code', 'Name'],
    header=None,
    skiprows=1,
    sep='\t',
    engine='python',
    skipinitialspace=True  # 如果数据行制表符后有空格,打开这个选项
)

办法二:手动跳过表头行再读取

直接用文件对象跳过第一行,剩下的内容交给read_csv处理,这种方式更直观:

import pandas as pd

with open('csvfile.csv', 'r') as f:
    next(f)  # 跳过第一行的表头
    df = pd.read_csv(f, names=['Code', 'Name'], header=None, sep='\t')

办法三:如果需要解析原表头(可选)

要是之后需要用到原表头的内容,可以先单独读取表头行,再读取数据:

import pandas as pd

# 先读取并解析表头
with open('csvfile.csv', 'r') as f:
    header_line = next(f).strip()
    original_headers = header_line.split(',')  # 用逗号拆分表头

# 再读取数据行
df = pd.read_csv(
    'csvfile.csv',
    names=original_headers,
    header=None,
    skiprows=1,
    sep='\t'
)

原代码失效的可能原因

  • 默认的C引擎对制表符的识别不够灵活,遇到数据里的特殊字符容易出错
  • 数据行的制表符可能混有空格,导致分隔符匹配失败
  • 文件编码问题(可以尝试加上encoding='utf-8'或encoding='gbk'参数)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 12:55:22