python按照工作表前4个词缀拆分工作簿保留格式并保存
时间: 2024-10-12 13:12:09 浏览: 45
在Python中,如果你想要处理Excel工作簿,并按工作表名的前四个词缀进行拆分,可以使用pandas库配合openpyxl库来完成这个任务。这里是一个基本的步骤示例:
首先,你需要安装这两个库,如果还没有的话:
```bash
pip install pandas openpyxl
```
然后,你可以编写一个函数来读取工作簿、拆分工作表名称、创建新的工作簿并将它们移动过去,同时保持原格式:
```python
import os
import pandas as pd
from openpyxl import load_workbook
def split_and_save_excel(input_file, output_dir):
# 加载工作簿
wb = load_workbook(filename=input_file)
# 获取所有的工作表
sheets = wb.sheetnames
for sheet in sheets:
# 拆分工作表名,获取前四个词缀
prefix = "_".join(sheet.split("_")[:4])
# 创建新工作簿和工作表
new_wb = load_workbook() # 使用load_workbook创建一个新的空工作簿
new_ws = new_wb.active
new_ws.title = sheet # 给新工作表设置标题
# 复制数据到新工作表
ws = wb[sheet]
for row in ws.iter_rows():
new_ws.append([cell.value for cell in row])
# 保存新工作簿,文件名为原始工作簿名加前缀
output_file = os.path.join(output_dir, f"{os.path.splitext(os.path.basename(input_file))[0]}_{prefix}.xlsx")
new_wb.save(output_file)
# 关闭所有工作簿
wb.close()
new_wb.close()
# 调用函数,传入输入文件路径和输出目录
input_file = 'your_input.xlsx'
output_dir = 'output_folder'
split_and_save_excel(input_file, output_dir)
```
在这个例子中,假设工作表名都是"前缀_剩余部分"的形式。函数会将每个工作表按照前四个词缀拆分成单独的文件,如"原始_前缀.xlsx"。
阅读全文