如何用Python合并列名不同的两个Excel文件的指定列?
合并不同列名的Excel工作簿数据
针对你需要合并两个列名不同的Excel工作簿、将特定列合并至同一列的需求,用Python的pandas库就能轻松实现,下面是适合新手的分步操作:
1. 安装必要的库
首先打开命令提示符(Windows)或终端(Mac/Linux),执行以下命令安装依赖:
pip install pandas openpyxl
pandas是处理表格数据的核心库,openpyxl用来读写.xlsx格式的Excel文件。
2. 编写代码实现合并
把下面的代码保存为merge_excel.py,然后替换代码里的文件名和列名为你自己的实际信息:
# 导入pandas库 import pandas as pd # 读取第一个Excel文件,只加载需要的列(示例:要合并的列是"客户名称",同时保留"订单编号") df1 = pd.read_excel("文件1.xlsx", usecols=["客户名称", "订单编号"]) # 将需要合并的列重命名为统一的目标列名(比如"合并客户名") df1 = df1.rename(columns={"客户名称": "合并客户名"}) # 读取第二个Excel文件,同样只加载需要的列(示例:要合并的列是"客户姓名") df2 = pd.read_excel("文件2.xlsx", usecols=["客户姓名", "订单编号"]) # 重命名对应列,和第一个表格的目标列名保持一致 df2 = df2.rename(columns={"客户姓名": "合并客户名"}) # 合并两个表格,重置索引避免重复 merged_table = pd.concat([df1, df2], ignore_index=True) # 将合并后的结果保存为新的Excel文件,index=False表示不保存自动生成的索引列 merged_table.to_excel("合并完成的表格.xlsx", index=False)
3. 运行代码
在命令提示符/终端里,进入代码所在的文件夹,执行:
python merge_excel.py
运行完成后,你就能看到生成的合并完成的表格.xlsx,里面的指定列已经合并到同一列中。
关键说明
usecols参数:只读取你需要的列,避免加载多余数据,提升效率。rename方法:把两个表格中需要合并的不同列名改成相同的,这样才能合并到同一列。pd.concat:将两个表格按行拼接,ignore_index=True会重新生成连续的行号,避免原表格的索引混乱。
内容的提问来源于stack exchange,提问作者jselvaraj87
相关产品推荐
相关产品推荐

