基于XlsxWriter实现预算自动化:为各预算负责人生成专属多工作表Excel
实现方案
首先安装所需依赖库:
pip install pandas openpyxl xlsxwriter
完整实现代码如下:
import pandas as pd import xlsxwriter # 1. 读取预算负责人与业务单元映射表,替换为你实际的文件路径和工作表名 df = pd.read_excel("business_unit_mapping.xlsx", sheet_name="Sheet1") # 2. 按预算负责人分组 grouped = df.groupby("预算负责人") # 3. 遍历每个负责人生成对应Excel文件 for manager, group_data in grouped: # 生成该负责人的Excel文件,文件名可以按需求调整 file_name = f"{manager}_预算模板.xlsx" with xlsxwriter.Workbook(file_name) as workbook: # 遍历该负责人分管的所有业务单元 for _, row in group_data.iterrows(): unit_code = row["业务单元编号"] unit_desc = row["业务单元描述"] # 新建工作表,用业务单元编号作为工作表名,可按需调整 worksheet = workbook.add_worksheet(str(unit_code)) # 写入模板固定内容 worksheet.write("B6", "Account Number") worksheet.write("C6", "Description") worksheet.write("D6", "Budget") worksheet.write("B10", "*") worksheet.write("C10", "Revenue") worksheet.write("D10", "=SUM(D7:D9)") # 写入当前业务单元的专属信息 worksheet.write("D1", unit_code) worksheet.write("D2", unit_desc) print(f"已生成{manager}的预算模板:{file_name}")
注意事项
- 请将代码中的
business_unit_mapping.xlsx和Sheet1替换为你实际存储负责人-业务单元映射关系的Excel文件路径和工作表名称 - 若业务单元编号存在特殊字符(如
/、?、*等),Excel不允许将其作为工作表名,可自行添加字符替换逻辑处理后再作为工作表名传入add_worksheet方法 - 生成的Excel文件默认保存在代码运行的同级目录下,可自行调整文件路径规则
内容的提问来源于stack exchange,提问作者Pojter
相关产品推荐
相关产品推荐

