Python自动化:根据模板批量生成含指定数据的word文档

批量生成多个固定格式含表格数据的word文档 文章内容概况: 提示:这里可以添加学习目标 例如:一周掌握 Java 入门知识 学习内容: 提示:这里可以添加要学的内容 例如: 1、 搭建 Java 开发环境 2、 掌握 Java 基本语法 3、 掌握条件语句 4、 掌握循环语句 学习时间: 提示:这里可以添加计划学习的时间 例如: 1、 周一至周五晚上 7 点—晚上9点 2、 周六上午 9 点-上午 11 点 3、 周日下午 3 点-下午 6 点 学习产出: 提示:这里统计学习计划的总量 例如: 1、 技术笔记 2 遍 2、优快云 技术博客 3 阅读详情
AI摘要

本文介绍了如何使用Python的docxtpl库和pandas处理Word文档,通过自动化脚本来根据模板批量生成含有指定数据的文件,包括安装依赖、使用步骤和可能遇到的问题解决方法。,

一、需求说明

在平时工作当中,经常需要处理文件,特别是Word,处理Word时会遇一类比较常见的场景:文档中大部分文字固定不变,小部分内容需要修改。

这时我们会机械的重复打开、修改、保存文档等一系列操作,内容少还可勉强接受,内容一旦多了,心里难免会心浮气躁。

今天我要给大家介绍一个秘密武器-docxtpl开发包,有了这个只需写一份模板,其他的都交给电脑自己进行。

首先需要你的电脑安装好了Python环境,并且安装好了Python开发工具。

如果你还没有安装,可以参考以下文章:

如果仅用Python来处理数据、爬虫、数据分析或者自动化脚本、机器学习等,建议使用Python基础环境+jupyter即可,安装使用参考Windows/Mac 安装、使用Python环境+jupyter notebook

如果想利用Python进行web项目开发等,建议使用Python基础环境+Pycharm,安装使用参考:Windows下安装、使用Pycharm教程,这下全了 和 Mac下玩转Python-安装&使用Python/PyCharm 。

秘密武器介绍

docxtpl:一个很强大的包,其主要通过对docx文档模板加载,从而对其进行修改。

pandas:提供高性能易用数据类型和分析工具

安装相关的第三方库

Windows下按住Win+R打开运行窗口,输入cmd进入命令提示符窗口(Mac打开终端即可),输入以下命令安装相关包:

pip install docxtpl

pip install pandas

使用案例

生成某学校计算机与信息工程学院的新生入学通知书合集。word模板和表格内容如下(双括号处为待填写的部分):

效果如下

二、开始动手动脑

**第一步:**导入相关模块:

from docxtpl import DocxTemplate   import pandas as pd   import os   

**第二步:**用Python新建文件夹用来存放入学通知书,如果文件夹已存在代码会跳过这一步:

zpath = os.getcwd() + '\\'  #获取当前的路径   zpath = r'E:\python\tj' + '\\'   file_path = zpath + r'\通知书合集'   try:       os.mkdir(file_path)  #创建一级目录   except:       pass   

**第三步:**读取csv文件中的数据:

把表格里的每一列数据分别赋值给一个series类型变量,可以把series看成数组一样的类型。

data = pd.read_csv(zpath+'AdmissionList.csv', encoding='gbk')  #读取csv里的目标数据   name = data["姓名"].str.rstrip()  # str.rstrip()用于去掉空白   academy = data["学院"].str.rstrip()   major = data["专业"].str.rstrip()   begin_date = data["开始时间"].str.rstrip()   end_date = data["结束时间"].str.rstrip()   

**第四步:**将数据写入模板:

遍历表格的每一行,将数据存入字典列表,

num = data.shape[0]   # 获取数据行数   for i in range(num):       context = {          "姓名": name[i],          "学院": academy[i],          "专业": major[i],          "开始时间": begin_date[i],          "结束时间": end_date[i]   }   

选定模板,

tpl = DocxTemplate(zpath+'入学通知书.docx')   

渲染替换,将context里的内容写入word模板中,

tpl.render(context)#渲染替换   

保存文件,名字为:**的入学通知书。

tpl.save(file_path+r"\{}的入学通知书.docx".format(姓名[i]))   

上述操作重复num(即表格中数据的行数)次,写完这些就可以在file_path中找到生成的文件啦。

可能出现的错误:

1)文件名乱码:可以尝试把解码方式换成gbk;

2)权限问题:可能是需要读入的数据文件正在被使用,关闭就行了;

3)生成的word文件行数混乱:可以把str.rstrip()写成str.rstrip(‘\n’);

4)只能生成同一份word文档:每渲染一次,就要重新选定模板。

以上就是“Python自动化:根据模板批量生成含指定数据的word文档”的全部内容,希望对你有所帮助。
​
​关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

在这里插入图片描述

二、Python必备开发工具

img

三、Python视频合集

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

img

四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

img

五、Python练习题

检查学习结果。

img

六、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

img

最后祝大家天天进步!!

上面这份完整版的Python全套学习资料已经上传至优快云官方,朋友如果需要可以直接微信扫描下方优快云官方认证二维码免费领取【保证100%免费】。

Python 利用模板生成Word文档的三种方法 模板是预先设计好格式和布局的文档,它包含了特定的样式、格式和元素,为我们创建新文档提供了一个便捷的起点。使用模板创建Word文档的好处在于我们无需从头开始设计文档的外观和结构,而是可以选择一个适合的模板,并根据需要修改其内容。模板通常包含特定的占位符元素,如占位符文本、书签或合并域等,我们可以通过替换或修改这些元素来生成新的文档。下面将逐一探讨如何替换模板中的占位符文本、书签及合并域来生成Word文档。Word文档中的合并域是一种特殊的文本标记,用于在执行邮件合并操作时指示需要插入的实际数据的位置。 阅读详情

相关推荐

如何在Python中将数据插入到Word模板中生成一份Word文档

在一些的项目开发中,会有一些生成Word文件的操作,比如将获取到的一些数据添加到Word模板当中的相应的位置生成一份Word文档。 由于最近的Python项目当中需要将一些从服务器查出的数据添加到Word模板当中生成一份Word文档,完成这个操作需要用到的是Python当中一个叫做docx-mailmerge的包,这个包的作用是解析MS Word docx文件,并且找到合并字段并且...

DaShu0612的博客 4万+

利用Python根据模板生成Word文档

目前测试用例使用excel整理后,后期需要变成word文件。采用手工粘贴赋值整理费时费力,随采用python程序处理,从工具人解放出来。

originalmb的博客 4664

用Python根据模板批量生成含指定数据的word文档(使用docxtpl)

用Python根据模板批量生成含指定数据的word文档 有些需要模板化发送的内容,实际上只需要改动几个数据,其他部分不需要改动,使用Python自动化填充需要调整的字段,可以提升工作效率。 当需要按规定格式向word文档写入数据时,可以使用docxtpl包。 可以参考的文章链接: 官方文档https://blog.youkuaiyun.com/meteor_cheng/article/details/8858...

Anastasia的博客 6176

Python 自动化:根据模板批量生成含指定数据的 word 文档

作者:一只河马h来源:简说Python一、需求说明在平时工作当中,经常需要处理文件,特别是Word,处理Word时会遇一类比较常见的场景:文档中大部分文字固定不变,小部分内容需要修改。这时我们会机械的重复打开、修改、保存文档等一系列操作,内容少还可勉强接受,内容一旦多了,心里难免会心浮气躁。今天我要给大家介绍一个秘密武器-docxtpl开发包,有了这个只需写一份模板,其他...

AI科技大本营 6298

python办公自动化之批量生成docx——根据excel生成word、根据word生成excel

python办公自动化之批量生成docx——根据excel生成word、根据word生成excel 一、从excel读取 二、写入docx 三、批量生成docx 四、反向操作,根据word生成excel

摸鱼的店掌柜 1737

模板 生成word_python办公自动化(一)批量生成word

工作需要制作几十个同模板word,研究学习了一下python批量生成word文档,生成的word保存在同一个文件夹里,为了方便发给别人,末尾加上了压缩步骤。为了马赛克工作内容,简化为学生成绩通知单展示。只需要复制代码,修改部分文件名,菜鸟亦能快速上手,对懒人极其友好!excel信息统计如下:word模板如下,双括号处为待填写的部分(给双括号加粗、红色、下划线会影响word结果):结果如下:(以易烊...

weixin_34933151的博客 3216

使用Python根据excel中数据批量生成word文件(word文件填空)

有时候需要根据excel中的数据生成多个word文件,比如一行数据生成一个文件,这些文件大部分内容是一样的,只有个别地方不一样,像姓名、成绩等,传统方法是拷贝粘贴,但数据量大的话就太麻烦了,为此编程实现自动化。 基本思想是建立一个word模板文件,输入固定的内容,包括文字、图片、页眉页脚等等。在需要填空的地方插入标签并记住标签名,存为模板文件,拷贝至指定目录,指定目录中同时还有excel数据文件。在同样的指定目录新建Python程序,程序打开excel文件,取数据,针对每一行数据,根据模板新...

zw010101的专栏 1万+

【python】Excel-Word文档自动批量生成

〇、前情提要 网易云课堂跟着老师学Excel-Word文档自动批量生成。 参考: 5天零基础Python训练营 https://course.study.163.com/480000006852171/learning 一、直播在线环境操作步骤说明 把在线环境地址复制到浏览器打开>>>https://makerbean.com/jupyter 输入用户名和密码登陆,密码为makerbean,输入完成后,点击 Sign In 登陆 Usename:输入昵称,随便输入一个即可 用

weixin_43210113的博客 2228

【Python办公自动化】根据excel中数据批量生成word文档(适用劳动合同、质检报告、通知书等应用场景)

大家在工作中一定经常遇到类似的情况: 1、制作劳动合同表,要从excel表格中将每个人的数据导入到docx劳动合同中,重复量很大。 2、制作XX方案或XX报告,Word文档布局和格式统一,只是需填充的内容信息来源于Excel。 3、制作通知书,从excel表格中将每个人的数据分别填入到docx通知书中。 4、其他各式各样的场景,反正都满足同样的条件,就是:**个性化定制多份Word文档,而个性化信息来源于格式统一的Excel。** 这次是应同事小伙伴邀约,以及自己之前也遇到过这样的需求,就搞了一个快速生成

SophiaSSS的博客 9043

python - 根据模板操作 word

【代码】python - 根据模板操作 word。

学无止境 1395

【Verilog】valid-ready双向握手机制 ——很绕但是很有意思

valid-ready双向握手机制。

GalaxyerKw的博客 1万+

根据制式模板批量生成 word 文件

操作 word 其实是一件很痛苦的事情,但是有一点我们是可以尝试一下的,那就是根据制式的 word 模板批量生成文件,可以应用在政府机关某些文件下发里,再配合邮件发送功能。今天就给大家分享一下生成 word 文件的代码 制式的 word 模板如下: 代码如下: from docxtpl import DocxTemplate tpl = DocxTemplate(r'./temp.d...

apollo_miracle的博客 6948

别再为H桥烧MOS管发愁了!手把手教你用IR2104搭建稳定电机驱动(附自举电路详解)

本文详细解析了使用IR2104半桥驱动芯片构建高可靠H桥电机驱动电路的全过程。从芯片内部架构、自举电路原理到PCB布局技巧和实战调试方法,帮助工程师彻底解决MOS管烧毁问题。重点讲解了自举电容选型、死区时间控制等关键设计要点,并附有示波器实测波形分析,是电机驱动设计的实用指南。

我的博客 740

第二十篇 Word文档自动化:Python批量生成、模板填充与内容修改,告别繁琐排版!

还在为重复性文档制作、手动填充模板、排版耗时而烦恼?想一键批量生成个性化合同、报告、证书,并实现内容修改与格式调整?本文是你的Word文档自动化终极指南!我们将手把手教你如何利用Python-docx库,实现Word文档的批量生成、智能模板填充、内容替换与自动化排版。本文提供完整可运行的代码、高清GIF动图演示、震撼前后对比图,让你零基础也能快速掌握,打造专属智能Word文档工厂,全面加速你的办公自动化与文档管理效率

qq_35899016的博客 3630

Ubuntu 18.04下Freesurfer 7.2.0安装全攻略:从下载到环境配置一步到位

本文详细介绍了在Ubuntu 18.04系统上安装Freesurfer 7.2.0的完整流程,包括系统准备、依赖安装、下载解压、环境配置、许可证获取及性能优化。Freesurfer作为神经影像分析的重要工具,支持皮层重建和体积分割等复杂任务,适用于阿尔茨海默症等神经系统疾病研究。指南还提供了常见问题解决方案和实际应用案例,帮助用户快速搭建高效的神经影像分析平台。

omega的博客 996

YF-S401水流量传感器在STM32上的精准计量实现

本文详细介绍了YF-S401水流量传感器与STM32微控制器的集成应用,实现精准水流计量。通过外部中断和外部时钟两种脉冲计数方案,结合硬件配置、软件滤波和校准技巧,确保高精度流量测量。适用于智能家居和工业自动化中的水控系统,提升系统稳定性和测量准确性。

rainy的博客 897

基于Python的Word文档模板自动化处理:从占位符提取到智能填充

Word文档模板自动化是指通过编程方式识别模板中的占位符,并自动填充相应内容的过程。这种方法特别适用于需要批量生成个性化文档的场景,如行政公文、财务报告、客户信函等。Python中的docxtpl库是一个功能强大的模板引擎,它结合了Jinja2模板语法和python-docx的功能,使我们能够轻松实现文档自动化。与传统的手动操作相比,自动化模板处理具有以下优势:大幅提升工作效率,降低人为错误风险,保证文档格式统一性,以及轻松应对大批量文档生成任务。下面我们将逐步解析自动化处理的三个核心步骤。

东方佑 1711

Obsidian的Git插件设置配置全流程 -- 简单的电脑端多平台同步方案及常见问题

Git同步obsidian的保姆级教程和常见问题

weixin_44370439的博客 1万+

python 批量打印文档_使用python将Excel数据填充Word模板并生成Word

【项目需求】Excel中有一万多条学生学平险数据,需要给每位学生打印购买回执单,回执单包括学生姓名,身份证号,学校等信息,目前只能从Excel拷贝数据到Word模板中,然后打印,效率及其低下,寻求帮助。【解决方案】1、设计Word模板。 2、读取Excel中的数据,并按Word模板生成Word文件。 3、使用批量打印软件进行批量打印。 关键需要解决word模板如何设计,像数据一样,定义好字段,后期...

weixin_42511887的博客 2203

基于bootstrap+Java的图书管理系统(任务书)

10] 倪甜弟,周晓波,王相喜.基于JSP图书馆自习室预约系统的设计与实现[J].现代计算机, 2024, 30(9):117-120.DOI:10.3969/j.issn.1007-1423.2024.09.023.[2] 陈明雪,赵勇,周小丽,等.基于Node.js和Bootstrap的图书管理系统设计与研究[J].现代信息科技, 2021, 5(24):4.[9] 杨婷婷.基于VOSviewer的图书馆管理系统研究的可视化分析[J].现代信息科技, 2023, 7(3):123-126.

毕业作品网站 649

什么是 SAP Fiori 的 Technical Catalog

笔者之前的文章曾经提到一个叫做本文介绍 Technical Catalog 这个概念在 SAP Fiori 技术体系中的作用。首先我们如何在系统里查看这个 Catalog SAP_BASIS_TCR_T 里面包含的内容呢?如果大家照着本文开头那篇文章里提到的步骤,那么在自己系统里会创建好名叫的 PFCG role.我们登录 ABAP 系统,启动事务码 PFCG,打开这个 role, 就能看到它。展开之后,发现它扮演着一个容器的角色,里面包含了很多 ABAP 对象。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 744

Python自动化办公:Word文档批量生成神器(第一期)

本文介绍了一个基于Python的Word文档批量生成工具,通过模板+数据的方式实现办公自动化。系统采用docx-mailmerge2库处理Word文档,支持命令行和GUI两种操作模式。核心功能包括:在Word模板中设置<<字段名>>占位符,通过Python自动填充数据生成格式规范的公告文件。该工具适用于批量生成通知公告、合同文件等场景。

肆月壹日录 1137

AUTOSAR系统服务篇 - BswM的使用

本文档是对4.0.3版及更高版本的AUTOSAR模式管理应用的介绍。其主要目的是为AUTOSAR的用户和开发人员提供基于示例的AUTOSAR模式管理不同方面的详细概述,这些示例在文中进行了解释。本文中的代码清单共同构成了示例ECU的配置。第2章解释了基础的模式管理概念,例如一般的模式、如何实现模式切换、模式管理者和模式用户的角色等。其次介绍了应用模式管理和基础软件模式管理的依赖关系,两者密切相关。基础软件模式管理器是AUTOSAR R4.0中的中央模式管理模块。它具有很高的可配置性。

IOT2017的博客 848
上一篇: 写 Python 代码不可不知的函数式编程技术
下一篇: 别再弄不清Python 深拷贝和浅拷贝了!
壹只小小码农
博客等级 码龄5年 8104粉丝 1333原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值