多个exce文件合并在一个文件中变成多个sheet
时间: 2023-09-07 21:01:38 浏览: 111
要将多个Excel文件合并在一个文件中,并且每个文件都要变成一个独立的sheet,可以采用以下步骤:
1. 给定多个Excel文件的路径或者文件夹路径。
2. 使用Python的openpyxl库打开一个新的Excel文件,并创建一个工作簿对象。
3. 遍历每个文件的路径,使用openpyxl打开每个Excel文件,并创建一个工作簿对象。
4. 将每个文件的工作簿对象中的每个sheet复制到新建的工作簿对象中,使用openpyxl的copy_worksheet方法。
5. 分别给每个sheet设置一个唯一的名称,可以使用原文件名作为sheet名字。
6. 保存新建的工作簿对象为一个新的Excel文件。
以下是示例代码:
```python
import os
from openpyxl import Workbook, load_workbook
# 多个Excel文件的路径
file_paths = ["file1.xlsx", "file2.xlsx", "file3.xlsx"]
# 创建新的Excel文件
merged_file = Workbook()
merged_file.save("merged.xlsx")
merged_file = load_workbook("merged.xlsx")
# 遍历每个Excel文件
for file_path in file_paths:
# 打开原始Excel文件
wb = load_workbook(file_path)
# 遍历原始Excel文件中的每个sheet
for sheet in wb.sheetnames:
# 复制每个sheet到新的Excel文件中
copied_sheet = wb[sheet]
new_sheet = merged_file.copy_worksheet(copied_sheet)
# 设置新的sheet名称为原始文件名
new_sheet.title = os.path.splitext(os.path.basename(file_path))[0]
# 保存新的Excel文件
merged_file.save("merged.xlsx")
```
运行以上代码后,会在当前目录生成一个名为"merged.xlsx"的Excel文件,其中包含了所有原始Excel文件的数据,每个原始文件都对应一个独立的sheet。
阅读全文