两个表格(Excel/CSV)字段不完全一致,要合并在一起
今天需要将tapd上的数据导出,需要将多个项目的表格合并到一个表格上。
一个表字段 A:
状态 优先级 模块 规模 分类 业务价值 父需求 迭代 版本 测试重点 标签 发布计划 需求类别 处理人 开发人员 创建人 产品人员 测试人员 创建时间 最后修改时间 完成时间
另一个表字段 B:
ID 标题 状态 优先级 迭代 处理人 预计开始 预计结束 产品人员 测试人员 模块 分类 业务价值 父需求 版本 测试重点 标签 需求类别 创建人 开发人员 创建时间 最后修改时间 完成时间
可以看到:
- 两个表有 交集字段(比如 状态、优先级、迭代、处理人、产品人员、测试人员…)。
- 表 B 还有一些额外字段(ID、标题、预计开始、预计结束)。
- 表 A 有额外字段(规模、发布计划)。
👉 目标:合并成一个总表,字段取 并集,缺失的地方填空值。
Python 处理方法(pandas)
import pandas as pd# 读取两个表格
df1 = pd.read_excel("table1.xlsx")
df2 = pd.read_excel("table2.xlsx")# 字段并集
all_columns = sorted(set(df1.columns) | set(df2.columns))# 让两个表都补齐相同的字段
df1 = df1.reindex(columns=all_columns)
df2 = df2.reindex(columns=all_columns)# 合并
merged = pd.concat([df1, df2], ignore_index=True)# 保存
merged.to_excel("merged.xlsx", index=False)
结果特点
-
merged.xlsx
会包含所有字段:ID, 标题, 状态, 优先级, 模块, 规模, 分类, 业务价值, 父需求, 迭代, 版本, 测试重点, 标签, 发布计划, 需求类别, 处理人, 开发人员, 创建人, 产品人员, 测试人员, 创建时间, 最后修改时间, 完成时间, 预计开始, 预计结束
-
如果某个表没有的字段,合并后就是空值。