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

如何按表1的Id列顺序合并列头相同的两个CSV/Excel表格

CSV/Excel 两表合并操作指南

合并前提

  • 两个待合并的表格列名、列顺序必须完全对齐
  • 合并完成的新表,行顺序严格和表1的Id列原有排序保持一致

实现方式

方式一:Python 脚本(适合数据量大、需要反复操作的场景)

先安装需要的依赖库,在命令行执行:
pip install pandas openpyxl
之后运行下面的脚本,把文件路径替换成你自己的本地文件路径即可:

import pandas as pd

# 读文件:如果是CSV格式,把read_excel换成pd.read_csv即可
df_table1 = pd.read_excel("你的表1文件路径.xlsx")
df_table2 = pd.read_excel("你的表2文件路径.xlsx")

# 先校验列头是否一致,不一致直接抛出提示
if list(df_table1.columns) != list(df_table2.columns):
    raise Exception("两个表列头不匹配,请先调整列名、列顺序再运行")

# 记录表1原有Id顺序
table1_id_sort = df_table1["Id"].tolist()
# 拼接两个表的全部数据
merged_data = pd.concat([df_table1, df_table2], ignore_index=True)
# 按照表1的Id顺序重排,表2独有的Id对应的行会统一放在结果末尾
merged_data["temp_sort_tag"] = merged_data["Id"].apply(lambda x: table1_id_sort.index(x) if x in table1_id_sort else len(table1_id_sort))
merged_data = merged_data.sort_values(by="temp_sort_tag").drop(columns=["temp_sort_tag"]).reset_index(drop=True)

# 导出结果,要存CSV就把to_excel换成to_csv
merged_data.to_excel("合并完成结果.xlsx", index=False)

注意:运行脚本前请先关闭正在打开的目标Excel文件,否则会触发权限报错
如果不需要保留表2中独有的Id行,在拼接完数据之后加一行筛选逻辑即可:
merged_data = merged_data[merged_data["Id"].isin(table1_id_sort)]

方式二:Excel 手动操作(适合小数据量、不想写代码的场景)

  1. 同时打开两个待合并文件,逐列核对列名、列顺序,有差异的先拖拽调整列顺序、修改列名,保证两个表表头完全一致
  2. 切到表2,选中除表头行之外的所有有效数据,复制后粘贴到表1现有数据的最后一行下方
  3. 选中表1全部数据区域,点击顶部菜单栏「数据」-「排序」,排序关键字选Id列,次序选择「自定义序列」
  4. 在弹出的自定义序列窗口,按照表1原本的Id从上到下的顺序依次输入Id值,导入序列后确认排序,就能得到符合顺序要求的合并表

示例参考

  • 文件/表1:
    表1示例截图
  • 文件/表2:
    表2示例截图

提示:如果两个表存在重复Id的行,上述操作会默认保留全部重复行,需要去重的话选中数据后点「数据」-「删除重复值」,选择Id列作为判断依据即可。

内容的提问来源于stack exchange,提问作者Juan Manuel Luque

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.10 16:15:47