使用python 将excel中数据批量生成word周报

2023-05-16

使用python 将excel中数据调用word模板批量生成word周报

  • 背景
  • 环境
  • 功能需求
  • 程序实现

背景

日常项目中每周需要召开项目周会,会议纪要和会议周报是必不可少的一项内容,会议纪要要求监理方会后发送给参会方成员,周报为每周在excel表格中新增内容。项目验收环境中有一项内容是需要汇总会议纪要和会议周报,会议纪要每次都已经发布,直接使用即可,会议周报在excel中(此处可能会有人问,为什么会议周报不是每次会后发送出来?历史原因、项目懈怠)立足当下,按目前的情况去完成。

环境

项目版本
office2019
ubuntu22.04.1 LTS
python3.10.4
windows10
wsl1

功能需求

源数据-excel
在这里插入图片描述
模板文件-word
在这里插入图片描述
在这里插入图片描述
功能说明
使用pytohn程序读取weekly.xlsx文件中的数据,调用平台二期建设项目周报.docx文件模板,批量生成周报并保存到output文件夹中
目录说明

项目名称说明
weekly.py处理程序
weekly_3.xlsx源数据
平台二期建设项目周报模板文件
output批量生成的文件目录

程序实现

import pandas as pd
from docxtpl import DocxTemplate
import datetime

def main():
    df = pd.read_excel("weekly_3.xlsx", index_col='序号', engine="openpyxl")
    
    for name, row in df.iterrows():
        print("生成第: ", name)
        start_date = row["开始时间"].strftime("%Y-%m-%d")
        end_date = row["结束时间"].strftime("%Y-%m-%d")
        pro_ans = str(row["问题分析"]).split('\n')
        pro_ans_b = pro_ans[1:]

        doc = DocxTemplate("平台二期建设项目周报.docx")
        dic = dict(
            序号 = name,
            开始时间=row["开始时间"].strftime("%Y-%m-%d"),
            结束时间=row["结束时间"].strftime("%Y-%m-%d"),
            本周工作内容=row["本周工作内容"],
            问题分析=row["问题分析"],
        )
        ix = 0
        for item in range(str(row["问题分析"]).count('\n')):
            ix += 1
            dic[f"case{ix}"] = pro_ans_b[item]
        doc.render(dic)
        doc.save(f"./output/平台二期建设项目周报({start_date}~{end_date}).docx")

if __name__ == '__main__':
    main()

运行

$ python3 weekly.py

效果图
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用python 将excel中数据批量生成word周报 的相关文章

随机推荐

  • CMMi软件能力成熟度2.0版 在CMMI V1.3版本中,只是在5级中强调了围绕商业目标进行过程改进,但是在2.0中,无论哪个等级都强调了围绕商业目标进行改进,这是2.0的一个基本思想,也是过程改

    这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题 xff0c 有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中 居左 居右SmartyP
  • repo拉代码The remote end hung up unexpectedly解决方法

    git config global http lowSpeedLimit 0 git config global http lowSpeedTime 999999
  • AI漫想

    对人工智能一直有一种面对未知的好奇感 xff0c 所以也注意一些最新动态 首先 xff0c 强人工智能会出现 xff0c 或许已经出现 佛教中 色 xff0c 香 xff0c 声 xff0c 味 xff0c 触 xff0c 法 也可以看作我
  • 2014雅虎校招笔试题目

    今天去参加了雅虎的笔试题 xff0c 算是给自己留个记录吧 首先是8个选择题 xff0c 然后2个填空题 选择题不太难 xff0c 也记不大清楚了 填空题为2个概率题 xff0c 1个是2个人在下午2点 3点之间碰面 xff0c 他们出发时
  • 数据库系列-查询性能优化

    一 为什么要优化查询性能 1 因为每一个查询指令都是一个子任务 xff0c 执行每个子任务都需要花费时间 xff0c 优化查询的目的就是减少子任务的数量或者让子任务运行更快 2 查询的生命周期 从客户端到服务器 xff0c 在服务器上解析
  • 配置jenkins过程中Gitee无法添加证书令牌

    配置jenkins过程中Gitee无法添加证书令牌 背景处理步骤 背景 本篇是一个处理过程中的一个环节篇 xff0c 整体的背景为jenkins安装有一段时间了 xff0c 一直没怎么用起来 xff0c 就跟买了辆车一直爬在车库里吃灰 xf
  • ansible 执行命令 FAILED失败

    ansible 执行命令 FAILED失败 背景环境说明排查步骤定位处理步骤验证异常 sudo 需要密码 背景 生产工作需要 xff0c 新增了服务器 xff0c 加入到了ansible的hosts文件 xff0c 使用ad hoc命令执行
  • Windows10 21H2安装docker到非C盘的方法

    C盘就剩下40多G了 默认安装后装了下自己的镜像发现竟然只剩20多G了 太不科学了 而且无法选择安装位置 网上查了下教程也都不是很全 不够详细 下面是我的方法 管理员运行cmd mklink J 34 C Program Files Doc
  • linux 离线安装pymysql

    linux 离线安装pymysql 1 背景1 1 环境说明 2 操作步骤2 1 下载2 2 安装2 2 1 安装setuptools工具2 2 2 安装pymysql库 1 背景 生产服务器为离线局域网服务器 xff0c 维护功能的扩容需
  • linux系统连接windows系统

    linux系统连接windows系统 背景环境思路处理添加 remmina 仓库 背景 远程登录对运维人员来说是一道家常便饭了 xff0c 使用更多的是windows远程登录windows系统 xff0c windows系统登录linux系
  • ansible防火墙firewalld设置

    ansible防火墙firewalld设置 背景需求操作防火墙的开关打开验证 防火墙端口策略打开验证 防火墙服务策略打开验证 背景 防火墙 通过有机结合各类用于安全管理与筛选的软件和硬件设备 xff0c 帮助计算机网络于其内 外网之间构建一
  • linux离线安装软件

    linux离线安装软件 1 背景2 目的3 思路3 1 思路一3 1 1 操作步骤3 1 2 应用场景 xff1a 3 2 思路二3 2 1 操作步骤准备目录下载依赖 3 2 2 应用场景 3 3 思路三3 3 1 下载iso3 3 2 挂
  • 陌生环境下部署的思路

    陌生环境下部署的思路 由来场景一场景二场景三 整体的随想经验 由来 本篇的由来不是来自偶然 xff0c 但是如果说是必然又会显得很唐突 在现场实施部署工作中 xff0c 难免会遇到各种个样 突发 的情况 xff0c 原因不外乎信息的不对称
  • Ubuntu卸载WPS安装Libreoffice

    Ubuntu卸载WPS安装Libreoffice 背景环境卸载WPS安装Libreoffice下载安装卸载 背景 自从2021年10月份安装elementory操作系统以来 xff0c 办公软件一直在使用WPS xff0c 使用上跟wind
  • 我的创作纪念日

    我的创作纪念日 机缘收获日常憧憬 机缘 跟CSDN相识是在十多年前了 xff0c 当时是在上面找资料 xff0c 注册账号是为了下载上面的资源 至于写东西是从2021年开始的 xff0c 与其说是写不如说是记录 xff0c 记录下来工作中用
  • linux 单机部署rabbitmq

    linux 单机部署rabbitmq 背景环境部署下载端口开具erlang安装RabbitMQ安装 背景 rabbitmq 是指在应用间传送的数据 消息可以非常简单 xff0c 比如只包含文本字符串 xff0c 也可以更复杂 xff0c 可
  • linux 服务器时钟同步设置

    linux 服务器时钟同步设置 1 背景2 简介3 环境4 安装及配置5 配置使用5 1 服务端配置5 1 1 修改配置5 1 2 开启同步5 1 3 防火墙策略配置 5 2 客户端配置5 2 1 修改配置5 2 2 开启同步 5 3 ch
  • 电脑安装双系统-linux系统上安装windows系统

    电脑安装双系统 1 背景2 环境3 思路4 操作步骤4 1 安装gparted4 2 设置windows安装驱动器4 3 安装windows10操作系统4 4 设置开机引导 1 背景 电脑安装的elementary OS 5 1 7 基本能
  • MacOS配置iterm2漂亮实用的主题

    效果预览 注意事项 需要oh my zsh请自行安装 安装该主题需要的字体文件 cd git clone https github com powerline fonts git depth 61 1 cd fonts install sh
  • 使用python 将excel中数据批量生成word周报

    使用python 将excel中数据调用word模板批量生成word周报 背景环境功能需求程序实现 背景 日常项目中每周需要召开项目周会 xff0c 会议纪要和会议周报是必不可少的一项内容 xff0c 会议纪要要求监理方会后发送给参会方成员