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

求合并不同表头CSV为全表头格式的Unix/Python代码

CSV 合并解决方案

Unix 命令行实现

使用awk可以灵活处理这种需要组合行的场景,直接用一行命令就能完成:

awk -F ',' -v OFS=',' 'NR==1{getline h <"b.csv";print $0","h;next}FNR>1{getline l <"b.csv";print $0","l;print $0}' a.csv > file.csv

逻辑说明

  • 读取a.csv的第一行(表头),同时读取b.csv的表头,拼接后作为新文件的表头输出
  • 对a.csv的每一行数据:
    1. 读取b.csv的数据行,和当前a行拼接后输出
    2. 再单独输出当前a行

Python 实现

用Python标准库csv处理,无需额外安装依赖,代码可读性更强:

import csv

# 读取两个文件的表头和数据
with open('a.csv', 'r', newline='') as f:
    a_reader = csv.reader(f)
    a_header = next(a_reader)
    a_data = list(a_reader)

with open('b.csv', 'r', newline='') as f:
    b_reader = csv.reader(f)
    b_header = next(b_reader)
    b_data = list(b_reader)

# 生成合并后的内容
combined_header = a_header + b_header
combined_data = []
for a_row in a_data:
    # 先添加a行与b行的组合
    for b_row in b_data:
        combined_data.append(a_row + b_row)
    # 再添加单独的a行
    combined_data.append(a_row)

# 写入结果文件
with open('file.csv', 'w', newline='') as f:
    writer = csv.writer(f)
    writer.writerow(combined_header)
    writer.writerows(combined_data)

运行这个脚本后,file.csv就会包含你需要的表头和两行数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 09:15:36