Python把路径中的多个excel合并成多个sheet,sheet名为相应表名的代码
时间: 2023-10-29 15:04:44 浏览: 63
可以参考以下代码,使用pandas库中的concat函数:
``` python
import pandas as pd
import os
# 指定要合并的excel文件夹
folder_path = "excel_files/"
# 获取文件夹中所有excel文件的路径
file_paths = [os.path.join(folder_path, f) for f in os.listdir(folder_path) if f.endswith('.xlsx')]
# 创建空的DataFrame
df_all = pd.DataFrame()
# 遍历所有excel文件进行合并
for file_path in file_paths:
# 读取excel文件中的所有表格
sheets = pd.read_excel(file_path, sheet_name=None)
# 遍历所有表格进行合并
for table_name, table_data in sheets.items():
# 将表格添加到DataFrame中,并增加一列表名
table_data['table_name'] = table_name
df_all = pd.concat([df_all, table_data], ignore_index=True)
# 将合并后的结果保存为一个excel文件,每个表格为一个sheet
with pd.ExcelWriter('merged_excel.xlsx') as writer:
# 遍历所有表格,根据表名保存到对应的sheet中
for table_name in df_all['table_name'].unique():
df_table = df_all[df_all['table_name'] == table_name]
df_table.drop(columns=['table_name'], inplace=True)
df_table.to_excel(writer, sheet_name=table_name, index=False)
```
此代码可以将excel_files文件夹中的所有excel文件合并成一个文件,每个表格为一个sheet,sheet名为相应表名。