以下是一个使用Python解决问题的示例代码:
import os
import pandas as pd
# 定义要遍历的文件夹路径
folder_path = '/path/to/folder'
# 初始化一个空的DataFrame用于存储合并后的数据
merged_data = pd.DataFrame()
# 遍历文件夹中的所有文件
for filename in os.listdir(folder_path):
if filename.endswith('.xlsx') or filename.endswith('.xls'):
file_path = os.path.join(folder_path, filename)
# 读取Excel文件的所有工作表
xls = pd.ExcelFile(file_path)
sheet_names = xls.sheet_names
# 遍历工作表并合并数据
for sheet_name in sheet_names:
# 读取工作表数据
data = pd.read_excel(file_path, sheet_name=sheet_name)
# 合并数据到总的DataFrame中
merged_data = merged_data.append(data, ignore_index=True)
# 将合并后的数据保存到新的Excel文件中
merged_data.to_excel('/path/to/output/merged.xlsx', index=False)
上述代码中,首先定义了要遍历的文件夹路径 folder_path
,然后初始化一个空的DataFrame merged_data
,用于存储合并后的数据。
接下来,通过使用os.listdir()
函数遍历文件夹中的所有文件,筛选出以.xlsx
或.xls
结尾的文件。然后,使用pd.ExcelFile()
函数读取Excel文件,并使用sheet_names
属性获取所有工作表的名称。
然后,通过嵌套的for
循环遍历工作表,使用pd.read_excel()
函数读取每个工作表的数据,然后使用append()
函数将数据合并到总的DataFrame中。
最后,使用to_excel()
函数将合并后的数据保存到新的Excel文件中。
请确保替换代码中的文件夹路径和输出文件路径,以适应您的实际情况。