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

Python是否支持向CSV文件写入主列下属的多列数据?

实现CSV多列数据堆叠到主列下方的方法

这个需求完全可行,以下是几种实用的实现方式:

方法1:Excel/Google Sheets手动操作

适合数据量小的场景:

  • 假设主列为列A,需要合并的是列B、C
  • 选中列B的所有数据(不含表头),复制后粘贴到列A现有数据的末尾
  • 重复上述操作,把列C的数据粘贴到列A的最下方
  • 最后删除原B、C列,另存为CSV格式即可

方法2:Python脚本批量处理

适合数据量大或者需要重复操作的场景:

import csv

# 配置文件路径和目标列名
input_path = "你的输入文件.csv"
output_path = "输出文件.csv"
# 按顺序填写主列和需要堆叠的其他列名
target_columns = ["主列名称", "列1", "列2"]

stacked_rows = []
# 先写入主列的表头和数据
with open(input_path, "r", newline="", encoding="utf-8") as f:
    reader = csv.DictReader(f)
    stacked_rows.append([target_columns[0]])
    for row in reader:
        stacked_rows.append([row[target_columns[0]]])

# 依次追加其他列的数据(跳过表头)
for col in target_columns[1:]:
    with open(input_path, "r", newline="", encoding="utf-8") as f:
        reader = csv.DictReader(f)
        next(reader)  # 跳过表头
        for row in reader:
            stacked_rows.append([row[col]])

# 写入结果到新CSV
with open(output_path, "w", newline="", encoding="utf-8") as f:
    writer = csv.writer(f)
    writer.writerows(stacked_rows)
  • 注意:根据你的实际CSV列名修改target_columns列表,替换文件路径即可运行。

方法3:命令行awk工具处理

适合熟悉命令行的用户(假设CSV无表头,列用逗号分隔):

# 提取第1列(主列)写入输出文件
awk -F ',' '{print $1}' 输入文件.csv > 输出文件.csv
# 追加第2列数据(跳过表头)
awk -F ',' 'NR>1{print $2}' 输入文件.csv >> 输出文件.csv
# 追加第3列数据(跳过表头)
awk -F ',' 'NR>1{print $3}' 输入文件.csv >> 输出文件.csv
  • 如果CSV有表头,NR>1可以保留,避免重复写入表头。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 18:03:02