如何使用python将一个含有多个工作表的工作簿拆分并且保持格式不变
时间: 2024-10-04 09:03:46 浏览: 61
在Python中,你可以使用pandas库以及它的`ExcelWriter`功能来将一个包含多个工作表的Excel文件拆分成单独的文件,同时保持格式。以下是基本步骤:
1. 首先,安装必要的库,如果还没有安装的话:
```bash
pip install pandas openpyxl
```
2. 使用`pandas`读取整个Excel文件:
```python
import pandas as pd
# 加载Excel文件
workbook = pd.ExcelFile('input.xlsx')
sheet_names = workbook.sheet_names # 获取所有工作表名称
# 创建一个新的ExcelWriter对象
output_folder = 'output_folders' # 输出文件夹路径
os.makedirs(output_folder, exist_ok=True) # 创建输出目录,如果不存在
for sheet in sheet_names:
df = workbook.parse(sheet)
```
3. 对每个工作表的数据分别写入新的Excel文件:
```python
from openpyxl import Workbook
# 创建一个新的工作簿并设置写入模式
new_book = Workbook()
writer = pd.ExcelWriter(os.path.join(output_folder, f"{sheet}.xlsx"), engine='openpyxl', mode='a')
# 将DataFrame写入新工作表,并保留原格式
df.to_excel(writer, sheet_name=sheet, index=False)
# 保存工作簿
writer.save()
# 关闭写入过程
writer.close()
```
这个代码会创建一个与原始Excel文件结构相同的文件夹,并且每个工作表都会生成一个单独的Excel文件。
阅读全文