python 将目录下excel文件合并为一个文件
时间: 2024-10-21 20:12:46 浏览: 33
要使用Python将目录下的Excel文件合并成一个文件,你可以按照以下步骤操作:
1. 导入必要的库[^1]:
```python
import os
import pandas as pd
from openpyxl import load_workbook
from openpyxl.utils.dataframe import dataframe_to_rows
```
2. 定义一个函数来合并Excel文件:
```python
def merge_excel_files(directory, output_file):
wb_output = load_workbook(output_file)
# 遍历目录中的所有Excel文件
excel_files = [f for f in os.listdir(directory) if f.endswith('.xls') or f.endswith('.xlsx')]
for file_name in excel_files:
full_path = os.path.join(directory, file_name)
# 逐个打开并加载Excel文件
with pd.ExcelFile(full_path) as excel:
sheet_names = excel.sheet_names
# 对于每个工作表
for sheet in sheet_names:
df = excel.parse(sheet)
# 将DataFrame转换为行列表
rows = dataframe_to_rows(df, index=False, header=True)
# 创建新的工作表并将数据写入
ws = wb_output.create_sheet(title=sheet)
for row in rows:
ws.append(row)
# 保存合并后的Excel文件
wb_output.save(output_file)
# 调用函数,指定目录和输出文件名
merge_excel_files('待合并', '合并后excel.xlsx')
```
运行上述代码后,它会在指定的目录中查找所有Excel文件,并将它们的内容合并到`合并后excel.xlsx`这个新文件中。
阅读全文