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

如何用Python处理包含多个独立表头的CSV文件

处理包含两部分的CSV文件,转为独立字典

方法一:使用Python标准库csv

直接逐行读取文件,手动分隔两部分内容:

import csv

part1_dict = {}
part2_dicts = []

with open('your_file.csv', 'r', newline='', encoding='utf-8') as f:
    reader = csv.reader(f)
    
    # 处理第一部分:13列表头 + 1行数据
    part1_headers = next(reader)
    part1_data = next(reader)
    part1_dict = dict(zip(part1_headers, part1_data))
    
    # 跳过两行空行
    next(reader)
    next(reader)
    
    # 处理第二部分:42列表头 + 多行数据
    part2_headers = next(reader)
    for row in reader:
        # 跳过可能的空行(如果有的话)
        if not row:
            continue
        part2_dicts.append(dict(zip(part2_headers, row)))

说明:

  • part1_dict 就是第一部分的单条数据字典
  • part2_dicts 是第二部分所有数据的字典列表
  • 如果空行含空格,可改成while not next(reader).strip()循环跳过

方法二:使用pandas

通过读取所有行拆分后再转换:

import pandas as pd

# 读取所有行到列表,过滤空行
with open('your_file.csv', 'r', encoding='utf-8') as f:
    all_lines = [line.strip().split(',') for line in f if line.strip()]

# 拆分两部分:第一部分是前2行(表头+1行数据),剩余是第二部分
part1_data = all_lines[:2]
part2_data = all_lines[2:]

# 转成DataFrame再转字典
df_part1 = pd.DataFrame([part1_data[1]], columns=part1_data[0])
part1_dict = df_part1.to_dict('records')[0]

df_part2 = pd.DataFrame(part2_data[1:], columns=part2_data[0])
part2_dicts = df_part2.to_dict('records')

说明:

  • 先过滤空行再拆分,避免空行干扰
  • to_dict('records')将每行转为字典,第一部分取第一个元素得到单条数据字典

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 22:15:57