合并Excel文件可以通过Python中的`pandas`和`openpyxl`库来实现。以下是一个简单的步骤说明和示例代码,用于合并Excel文件中的多个工作表(sheet):
1. 安装必要的库:
pip install pandas openpyxl
2. 合并Excel文件的步骤:
导入所需的库。
指定包含Excel文件的文件夹路径。
获取文件夹中的所有Excel文件。
遍历每个Excel文件,读取其中的工作表。
将所有工作表的数据合并到一个数据框(DataFrame)中。
将合并后的数据框保存到一个新的Excel文件中。
示例代码如下:
import os
import pandas as pd
指定包含Excel文件的文件夹路径
folder_path = 'path/to/excel/files'
获取文件夹中的所有Excel文件
excel_files = [file for file in os.listdir(folder_path) if file.endswith('.xlsx') or file.endswith('.xls')]
创建一个空的DataFrame来存储合并后的数据
merged_data = pd.DataFrame()
遍历所有Excel文件
for file in excel_files:
file_path = os.path.join(folder_path, file)
读取Excel文件,获取所有工作表
xls = pd.ExcelFile(file_path)
for sheet_name in xls.sheet_names:
读取工作表数据
df = pd.read_excel(file_path, sheet_name=sheet_name)
添加一个标识列,用于区分数据来源
df['SourceFile'] = file
df['SheetName'] = sheet_name
将工作表数据添加到合并后的数据框中
merged_data = pd.concat([merged_data, df], ignore_index=True)
将合并后的数据保存到一个新的Excel文件中
merged_file_path = 'path/to/save/merged_file.xlsx'
merged_data.to_excel(merged_file_path, index=False)
请确保将`path/to/excel/files`替换为包含Excel文件的文件夹路径,并将`path/to/save/merged_file.xlsx`替换为希望保存合并后文件的位置。