iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python怎么批量生成含指定数据的word文档
  • 465
分享到

Python怎么批量生成含指定数据的word文档

2023-06-21 20:06:19 465人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章将为大家详细讲解有关python怎么批量生成含指定数据的Word文档,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、需求说明在平时工作当中,经常需要处理文件,特别是Word,处理Word时会遇一

这篇文章将为大家详细讲解有关python怎么批量生成含指定数据的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模板和表格内容如下(双括号处为待填写的部分):

Python怎么批量生成含指定数据的word文档

Python怎么批量生成含指定数据的word文档

效果如下

Python怎么批量生成含指定数据的word文档

二、开始动手动脑

导入相关模块:

from docxtpl import DocxTemplateimport pandas as pdimport 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文档”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: Python怎么批量生成含指定数据的word文档

本文链接: https://www.lsjlt.com/news/300395.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python怎么批量生成含指定数据的word文档
    这篇文章将为大家详细讲解有关Python怎么批量生成含指定数据的word文档,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、需求说明在平时工作当中,经常需要处理文件,特别是Word,处理Word时会遇一...
    99+
    2023-06-21
  • Python自动化之批量生成含指定数据的word文档
    目录一、需求说明二、开始动手动脑三、总结一、需求说明 在平时工作当中,经常需要处理文件,特别是Word,处理Word时会遇一类比较常见的场景:文档中大部分文字固定不变,小部分内容需要...
    99+
    2024-04-02
  • 怎么在Python中根据模板批量生成docx文档
    今天就跟大家聊聊有关怎么在Python中根据模板批量生成docx文档,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一、需求说明能够根据模板批量生成docx文档。具体而言,读取exce...
    99+
    2023-06-15
  • java根据自定义的word模板生成文档
    文章目录 一、新建Word模板二、导入依赖三、编写代码1、替换文字2、插入图片 提示:以下是本篇文章正文内容,下面案例可供参考 一、新建Word模板 在你需要动态生成的内容使用{fi...
    99+
    2023-09-28
    java 开发语言 apache maven
  • 教你使用Python根据模板批量生成docx文档
    目录一、需求说明二、实验准备三、代码实现四、实验结果一、需求说明 能够根据模板批量生成docx文档。具体而言,读取excel中的数据,然后使用python批量生成docx文档。 二、...
    99+
    2024-04-02
  • Python怎么实现批量生成、重命名和删除word文件
    这篇文章主要讲解了“Python怎么实现批量生成、重命名和删除word文件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python怎么实现批量生成、重命名和删除word文件”吧!批量生成w...
    99+
    2023-07-05
  • mysql如何生成指定位数的随机数及批量生成随机数
    小编给大家分享一下mysql如何生成指定位数的随机数及批量生成随机数,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1. 先介绍几...
    99+
    2024-04-02
  • 怎么使用Redis批量生成数据
    这篇文章主要介绍“怎么使用Redis批量生成数据”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用Redis批量生成数据”文章能帮助大家解决问题。Redis自带Debug方法redis提供的de...
    99+
    2023-06-30
  • 怎么使用Python+ChatGPT批量生成论文
    这篇文章主要介绍了怎么使用Python+ChatGPT批量生成论文的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么使用Python+ChatGPT批量生成论文文章都会有所收获,下面我们一起来看看吧。用Pyth...
    99+
    2023-07-05
  • Python自动化办公之Word文档怎么创建与生成
    这篇文章主要介绍了Python自动化办公之Word文档怎么创建与生成的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python自动化办公之Word文档怎么创建与生成文章都会有所收获,下面我们一起来看看吧。保存生...
    99+
    2023-06-30
  • python怎么批量压缩文件生成密码
    要批量压缩文件并生成密码,可以使用Python的zipfile库和random库。下面是一个示例代码,用于批量压缩指定文件夹中的所有...
    99+
    2023-08-25
    python
  • 怎么在python中使用faker库批量生成假数据
    这篇文章将为大家详细讲解有关怎么在python中使用faker库批量生成假数据,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。faker使用方法基本使用faker使用起来非常简单,我们看一下就...
    99+
    2023-06-08
  • Python批量调整Word文档中的字体、段落间距及格式python调用函数批量调整word格式
        最近关于批处理格式的问题我查了很多资料,但是都没有找到自己想要的答案。接上期,上篇博文我简单介绍了python操作Word的一些基本操作,本篇重点介绍如何批量将python中的文字导入到Word中,评设置其字体字号、间距、样式等。...
    99+
    2023-09-16
    python word 开发语言
  • 基于pdf2docx模块怎么用Python实现批量将PDF转Word文档
    这篇“基于pdf2docx模块怎么用Python实现批量将PDF转Word文档”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“...
    99+
    2023-07-06
  • 怎么用Python读取Excel数据实现批量生成合同
    这篇文章主要介绍“怎么用Python读取Excel数据实现批量生成合同”,在日常操作中,相信很多人在怎么用Python读取Excel数据实现批量生成合同问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用Py...
    99+
    2023-06-30
  • python怎么按概率生成指定数字
    要按概率生成指定数字,可以使用numpy库中的random.choice函数。这个函数可以根据给定的概率分布从指定的数字列表中选择一...
    99+
    2024-02-29
    python
  • 使用java怎么自动生成数据库文档
    今天就跟大家聊聊有关使用java怎么自动生成数据库文档,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一、引入pom.xml依赖<dependencies> &n...
    99+
    2023-06-15
  • 【导出Word】如何使用Java+Freemarker模板引擎,根据XML模板文件生成Word文档(只含文本内容的模板)
    这篇文章,主要介绍如何使用Java+Freemarker模板引擎,根据XML模板文件生成Word文档。 目录 一、导出Word文档 1.1、基础知识 1.2、制作模板文件 1.3、代码实现 (1)引入依赖 (2)创建Freemarke...
    99+
    2023-10-23
    word Java导出Word Freemarker Word文档导出功能 根据模板文件导出Word文档
  • python怎么批量处理PDF文档输出自定义关键词的出现次数
    今天小编给大家分享一下python怎么批量处理PDF文档输出自定义关键词的出现次数的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下...
    99+
    2023-07-06
  • python怎么搜索包含指定文件名的文件
    你可以使用os模块中的walk函数来递归搜索文件系统中所有文件,然后使用fnmatch模块来匹配文件名。以下是一个示例代码: imp...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作