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

如何在CSV文件中合并指定列?寻求非pandas的实现方案

CSV指定列合并的替代解决方案

针对数千行CSV文件合并第3、4、5列的需求,这里提供几种无需依赖pandas的可行方法:

方法1:Python内置csv模块

无需额外库,处理大文件效率稳定:

import csv

input_path = "你的输入文件.csv"
output_path = "合并后的输出文件.csv"

with open(input_path, 'r', newline='', encoding='utf-8') as infile, \
     open(output_path, 'w', newline='', encoding='utf-8') as outfile:
    reader = csv.reader(infile)
    writer = csv.writer(outfile)
    
    # 处理表头:替换第3-5列为合并后的列名(比如"Location")
    header = next(reader)
    new_header = header[:2] + ["Location"] + header[5:]
    writer.writerow(new_header)
    
    # 逐行处理数据,合并指定列
    for row in reader:
        # 用空格分隔合并内容,可根据需求换成分号、逗号等
        merged_content = ' '.join(row[2:5])
        new_row = row[:2] + [merged_content] + row[5:]
        writer.writerow(new_row)

方法2:命令行awk工具

适合快速批量处理,无需编写完整脚本(Linux/macOS可直接用,Windows需借助WSL或Git Bash):

# 处理表头+数据,自动合并第3-5列并删除原列
awk 'BEGIN{FS=OFS=","} 
     NR==1{$3="Location"; for(i=4;i<=NF;i++) $i=$(i+2); NF-=2; print; next} 
     {merged=$3" "$4" "$5; $3=merged; for(i=4;i<=NF;i++) $i=$(i+2); NF-=2; print}' 输入文件.csv > 输出文件.csv

说明:FS=OFS=","指定分隔符为逗号;第一行修改表头,后续行合并第3-5列后调整列数。

方法3:Excel/Google Sheets可视化操作

适合不熟悉代码的用户:

  • 打开CSV文件,在空白列(比如F列)第一行输入公式:=C2&" "&D2&" "&E2(C、D、E对应原第3、4、5列,分隔符可自行修改)
  • 下拉填充公式到所有数据行
  • 选中合并后的列,右键选择「复制」,再右键选择「粘贴为值」
  • 删除原第3、4、5列,将合并后的列重命名为需要的名称(比如"Location")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 19:56:13