【Python】Excles横向merge合并到一个sheet中

将文件夹内的多个excel合并在一个excel的一个sheet中,按照列“X”和列“Y”进行横向merge。

import os
import pandas as pd

# 设置文件夹路径
folder_path = r'D:\itm\excle'

# 获取文件夹下所有的 Excel 文件
all_files = os.listdir(folder_path)
excel_files = [f for f in all_files if f.endswith('.xlsx') or f.endswith('.xls')]

# 创建一个空的 DataFrame 用于存储所有数据
all_data = pd.DataFrame()

# 逐个读取 Excel 文件,并将每个文件的内容存储到一个新的 sheet 中
for file in excel_files:
    df = pd.read_excel(os.path.join(folder_path, file))
    df = df.drop(columns=[df.columns[0], df.columns[1]])  # 去掉第一列和第二列
    if all_data.empty:
        all_data = df
    else:
        all_data = pd.merge(all_data, df, on=['X', 'Y'], how='outer') 

# 将所有数据存储到一个新的 Excel 文件中
all_data.to_excel(r"D:\itm\合并.xlsx", index=False)

合并前不需要去前两列的,可以不加以下这行:
df = df.drop(columns=[df.columns[0], df.columns[1]]) # 去掉第一列和第二列


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值