【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]]) # 去掉第一列和第二列


你可能感兴趣的:(Python,python,pandas,开发语言,excel)