python 将某一文件夹下多个excel的sheet合并到一个excel文件的不通shee
时间: 2023-10-15 07:02:35 浏览: 113
data_sheet_c78-609338
可以使用Python中的pandas库来实现将多个Excel文件的sheet合并成一个Excel文件的不同sheet。
具体步骤如下:
1. 导入pandas库和os库
```python
import pandas as pd
import os
```
2. 定义一个函数,用于将一个Excel文件的所有sheet合并成一个DataFrame对象。
```python
def read_excel_sheets(file_path):
sheets = pd.read_excel(file_path, sheet_name=None)
sheet_names = list(sheets.keys())
df = pd.DataFrame()
for sheet_name in sheet_names:
sheet_df = sheets[sheet_name]
sheet_df['sheet_name'] = sheet_name
df = pd.concat([df, sheet_df], ignore_index=True)
return df
```
3. 定义一个函数,用于将一个文件夹下的所有Excel文件的所有sheet合并成一个Excel文件的不同sheet。
```python
def merge_excel_sheets(folder_path, output_file_path):
files = os.listdir(folder_path)
writer = pd.ExcelWriter(output_file_path)
for file in files:
file_path = os.path.join(folder_path, file)
if os.path.isfile(file_path) and file.endswith('.xlsx'):
df = read_excel_sheets(file_path)
df.to_excel(writer, sheet_name=file[:-5], index=False)
writer.save()
```
在上面的代码中,`folder_path`参数指定要合并的Excel文件所在的文件夹路径,`output_file_path`参数指定生成的合并后的Excel文件的路径和文件名。
使用示例:
```python
folder_path = 'excel_files'
output_file_path = 'merged_excel.xlsx'
merge_excel_sheets(folder_path, output_file_path)
```
上述代码将`excel_files`文件夹下的所有Excel文件的所有sheet合并成了一个名为`merged_excel.xlsx`的Excel文件,其中每个sheet的名称对应于原来的Excel文件的文件名。
阅读全文