python把excel的sheel复制到多个文件夹中的不同excel表中
时间: 2023-06-14 07:02:40 浏览: 122
可以使用Python的`openpyxl`库来读取和写入Excel文件。假设你有一个名为`source.xlsx`的Excel文件,其中包含一个名为`Sheet1`的工作表,你想将其复制到多个文件夹中的不同Excel表中,可以按照以下步骤操作:
1. 导入`os`模块,用于创建和管理目录和文件。
2. 导入`openpyxl`模块,用于读取和写入Excel文件。
3. 创建一个名为`folders`的列表,包含要复制到的文件夹路径。
4. 使用`os.makedirs()`函数创建每个文件夹。
5. 使用`openpyxl.load_workbook()`函数加载源Excel文件。
6. 使用`wb.sheetnames`属性获取源文件中的所有工作表名称。
7. 对于每个文件夹,使用`openpyxl.Workbook()`函数创建一个新的Excel文件。
8. 对于每个工作表名称,使用`wb.copy_worksheet()`方法将源文件中的工作表复制到新文件中。
9. 使用`os.path.join()`函数将新文件保存到正确的文件夹中。
以下是示例代码:
```python
import os
from openpyxl import load_workbook, Workbook
# 文件夹路径列表
folders = ['folder1', 'folder2', 'folder3']
# 创建文件夹
for folder in folders:
os.makedirs(folder, exist_ok=True)
# 加载源Excel文件
wb = load_workbook('source.xlsx')
# 获取工作表名称
sheet_names = wb.sheetnames
# 复制到每个文件夹的不同Excel表中
for folder in folders:
# 创建新的Excel文件
new_wb = Workbook()
# 复制每个工作表
for sheet_name in sheet_names:
# 复制工作表
source_sheet = wb[sheet_name]
new_sheet = new_wb.copy_worksheet(source_sheet)
# 保存新的Excel文件
file_name = f'{sheet_name}.xlsx'
file_path = os.path.join(folder, file_name)
new_wb.save(file_path)
```
这段代码将从`source.xlsx`中复制每个工作表,并将它们保存到名为`folder1`、`folder2`和`folder3`的文件夹中,每个文件夹中的Excel表都以源工作表的名称命名。
阅读全文