import os
import pandas as pd
# 设置包含所有Excel文件的目录
folder_path = 'D:\\导出数据'
# 创建一个空的列表用于存储合并后的数据
all_dfs = []
# 遍历文件夹及其所有子文件夹中的所有文件
for root, dirs, files in os.walk(folder_path):
for file in files:
if file.endswith('.xlsx'):
file_path = os.path.join(root, file)
# 读取Excel文件中的所有工作表
excel_data = pd.read_excel(file_path,skiprows=1, sheet_name=None)
# 遍历每个工作表,并将其添加到all_dfs列表中
for sheet_name, df in excel_data.items():
# 可以在这里添加对工作表的处理,比如重命名工作表或添加额外的列
df['Sheet_Name'] = sheet_name # 例如,添加一个列来标识工作表名
all_dfs.append(df)
# 合并所有的DataFrame
merged_df = pd.concat(all_dfs, ignore_index=True)
# 显示合并后的DataFrame
print(merged_df.head())
------列表推导式
import os
import pandas as pd
# 设置包含所有Excel文件的目录
folder_path = 'D:\\导出数据\\导出数据'
# 使用列表推导式收集所有的DataFrame
all_dfs = []
for root, dirs, files in os.walk(folder_path):
for file in files:
if file.endswith('.xlsx'):
file_path = os.path.join(root, file)
excel_data = pd.read_excel(file_path,skiprows=1, sheet_name=None)
for sheet_name, df in excel_data.items():
# 可以在这里添加对工作表的处理,比如重命名工作表或添加额外的列
df['Sheet_Name'] = sheet_name # 例如,添加一个列来标识工作表名
all_dfs.append(df)
# 合并所有的DataFrame
merged_df = pd.concat(all_dfs, ignore_index=True)
# 显示合并后的DataFrame
print(merged_df.head())