返回

Python Excel 批量合并技巧:高效合并 Sheet 提取信息

后端

脚本一:合并多个Excel文件中的指定Sheet并提取信息

需求背景

一位读者在日常工作中经常需要处理多个Excel文件,每个文件包含多个Sheet,其中一些Sheet包含有价值的信息,他需要将这些信息汇总到一个文件中。

Python脚本

import pandas as pd

# 文件夹路径,包含多个Excel文件
folder_path = r'C:\Users\username\Documents\Excel Files'

# 输出文件路径
output_file_path = r'C:\Users\username\Documents\Merged_Data.xlsx'

# 定义需要提取信息的列
columns_to_extract = ['Column A', 'Column B', 'Column C']

# 遍历文件夹中的Excel文件
for file_name in os.listdir(folder_path):
    # 忽略非Excel文件
    if not file_name.endswith('.xlsx'):
        continue

    # 读取Excel文件
    df = pd.read_excel(os.path.join(folder_path, file_name))

    # 只提取指定的Sheet
    df = df[df['Sheet Name'].isin(['Sheet1', 'Sheet2'])]

    # 提取指定列的信息
    df = df[columns_to_extract]

    # 将提取的信息追加到输出文件中
    with pd.ExcelWriter(output_file_path, mode='a') as writer:
        df.to_excel(writer, sheet_name='Merged Data', index=False)

# 合并完成,输出文件已保存

使用说明

  1. 将脚本复制到文本编辑器中,并保存为.py文件。
  2. 修改folder_path变量为需要合并的Excel文件所在的文件夹路径。
  3. 修改output_file_path变量为合并后数据的输出文件路径。
  4. 修改columns_to_extract变量为需要提取信息的列名列表。
  5. 运行脚本。

脚本运行结果

脚本运行后,会在指定的输出文件路径中生成一个名为Merged_Data.xlsx的Excel文件。该文件中包含了所有合并的Sheet中的数据,其中只包含了指定列的信息。

脚本二:在一个Excel文件中合并多个Sheet并保存到新Sheet

需求背景

另一位读者需要在一个Excel文件中合并多个Sheet,并将结果保存到一个新的Sheet中。

Python脚本

import pandas as pd

# Excel文件路径
file_path = r'C:\Users\username\Documents\Excel File.xlsx'

# 合并后的Sheet名称
merged_sheet_name = 'Merged Data'

# 读取Excel文件
df = pd.read_excel(file_path, sheet_name=None)

# 合并所有Sheet
merged_df = pd.concat(df.values(), ignore_index=True)

# 将合并后的数据保存到一个新的Sheet中
with pd.ExcelWriter(file_path, mode='w') as writer:
    merged_df.to_excel(writer, sheet_name=merged_sheet_name, index=False)

# 合并完成,新的Sheet已保存

使用说明

  1. 将脚本复制到文本编辑器中,并保存为.py文件。
  2. 修改file_path变量为需要合并的Excel文件路径。
  3. 修改merged_sheet_name变量为合并后数据的Sheet名称。
  4. 运行脚本。

脚本运行结果

脚本运行后,会在指定的Excel文件中生成一个名为Merged Data的新Sheet。该Sheet包含了所有合并的Sheet中的数据。

结语

以上两个Python脚本可以帮助您轻松地批量合并Excel文件中的指定Sheet并提取信息,或是在一个Excel文件中合并多个Sheet并保存到一个新的Sheet中。希望它们能对您的工作或学习有所帮助。