Python之word文档替换字符串(也可以用于短模板套用),代码如下:

 1 '''
2 #word模板套用1:创建模板,适合比较短的文档
3 '''
4
5 #导入所需库
6 from docx import Document
7 from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
8 from docx.shared import Pt
9 from docx.oxml.ns import qn
10
11 #开始创建文档
12 document = Document()
13 #设置文档的初始字体
14 document.styles['Normal'].font.name = '黑体'
15 #设置文档的中文初始字体
16 document.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'),u'黑体')
17
18 #创建函数来批量添加内容
19 def add_context(context):
20 #函数体开始
21 #新建段落
22 p = document.add_paragraph()
23 #设置段落对齐格式
24 p.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER
25 #向段落添加内容
26 r = p.add_run(str(context))
27 #因为文档的样式在代码开始的时候就设置了,这里只设置字体段落文字的字体大小就好了,有需要可以添加
28 r.font.size = Pt(16)
29 #设置段前段后距离
30 p.space_after = Pt(5)
31 p.space_before = Pt(5)
32 #指定好要替换的内容
33 change = '哈士奇'
34 #开始添加内容
35 add_context('汉皇重色思倾国,御宇多年求不得。杨家有%s初长成,养在深闺人未识。' % change) #将'女'替换成‘哈士奇'
36 add_context('天生丽质难自弃,一朝选在君王侧。回眸一笑百媚生,六宫粉黛无颜色。')
37 add_context('春寒赐浴华清池,温泉水滑洗凝脂。侍儿扶起娇无力,始是新承恩泽时。')
38 add_context('云鬓花颜金步摇,芙蓉帐暖度春宵。春宵苦短日高起,从此君王不早朝。')
39 add_context('承欢侍宴无闲暇,春从春游夜专夜。后宫佳丽三千人,三千宠爱在一身。')
40 add_context('金屋妆成娇侍夜,玉楼宴罢醉和春。姊妹弟兄皆列土,可怜光彩生门户。')
41 add_context('遂令天下父母心,不重生男重生%s。骊宫高处入青云,仙乐风飘处处闻。' % change) #将'女'替换成‘哈士奇'
42 add_context('缓歌慢舞凝丝竹,尽日君王看不足。渔阳鼙鼓动地来,惊破霓裳羽衣曲。')
43
44 #保存文档
45 document.save('D:/路径/替换%s操作展示.docx' % (change))

上面是单一替换,下面替换多个:

 1 '''
2 #word模板套用1:创建模板,适合比较短的文档
3 '''
4
5 #导入所需库
6 from docx import Document
7 from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
8 from docx.shared import Pt
9 from docx.oxml.ns import qn
10
11 #创建一个要替换的列表
12 dog_list = ['哈士奇','阿拉斯加','萨摩']
13 #开始循环列表
14 for change in dog_list:
15 #开始创建文档
16 document = Document()
17 #设置文档的初始字体
18 document.styles['Normal'].font.name = '黑体'
19 #设置文档的中文初始字体
20 document.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'),u'黑体')
21
22 #创建函数来批量添加内容
23 def add_context(context):
24 #函数体开始
25 #新建段落
26 p = document.add_paragraph()
27 #设置段落对齐格式
28 p.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER
29 #向段落添加内容
30 r = p.add_run(str(context))
31 #因为文档的样式在代码开始的时候就设置了,这里只设置字体段落文字的字体大小就好了,有需要可以添加
32 r.font.size = Pt(16)
33 #设置段前段后距离
34 p.space_after = Pt(5)
35 p.space_before = Pt(5)
36
37 #开始添加内容
38 add_context('汉皇重色思倾国,御宇多年求不得。杨家有%s初长成,养在深闺人未识。' % change) #将'女'替换成‘哈士奇'
39 add_context('天生丽质难自弃,一朝选在君王侧。回眸一笑百媚生,六宫粉黛无颜色。')
40 add_context('春寒赐浴华清池,温泉水滑洗凝脂。侍儿扶起娇无力,始是新承恩泽时。')
41 add_context('云鬓花颜金步摇,芙蓉帐暖度春宵。春宵苦短日高起,从此君王不早朝。')
42 add_context('承欢侍宴无闲暇,春从春游夜专夜。后宫佳丽三千人,三千宠爱在一身。')
43 add_context('金屋妆成娇侍夜,玉楼宴罢醉和春。姊妹弟兄皆列土,可怜光彩生门户。')
44 add_context('遂令天下父母心,不重生男重生%s。骊宫高处入青云,仙乐风飘处处闻。' % change) #将'女'替换成‘哈士奇'
45 add_context('缓歌慢舞凝丝竹,尽日君王看不足。渔阳鼙鼓动地来,惊破霓裳羽衣曲。')
46
47 #保存文档
48 document.save('D:/路径/替换%s操作展示.docx' % (change))

Python之word文档替换字符串(也可以用于短模板套用)的更多相关文章

  1. Python之word文档模板套用 - 真正的模板格式套用

    Python之word文档模板套用: 1 ''' 2 #word模板套用2:套用模板 3 ''' 4 5 #导入所需库 6 from docx import Document 7 ''' 8 #另存w ...

  2. Python读取word文档内容

    1,利用python读取纯文字的word文档,读取段落和段落里的文字. 先读取段落,代码如下: 1 ''' 2 #利用python读取word文档,先读取段落 3 ''' 4 #导入所需库 5 fro ...

  3. 利用Python操作Word文档【图片】

    利用Python操作Word文档

  4. 2018-10-04 [日常]用Python读取word文档中的表格并比较

    最近想对某些word文档(docx)的表格内容作比较, 于是找了一下相关工具. 参考Automate the Boring Stuff with Python中的word部分, 试用了python-d ...

  5. Python读取word文档(python-docx包)

    最近想统计word文档中的一些信息,人工统计的话...三天三夜吧 python 不愧是万能语言,发现有一个包叫做 docx,非常好用,具体查看官方文档:https://python-docx.read ...

  6. python读取word文档

    周末需要做一个统计word文档字数的问题,刚开始以为很简单,因为之前做过excel表格相关的任务,所以认为利用扩展模块应该比较简单. 通过搜索,确实搜到了一个python操作word的模块,pytho ...

  7. Python将word文档批量转PDF

    前面有一篇<Python批量创建word文档(2)- 加图片和表格>的文章,利用这篇文章创建的word文档来批量转PDF文档.代码: 1 ''' 2 #python批量将word文档转换成 ...

  8. Python将word文档转换成PDF文件

    如题. 代码: ''' #將word文档转换为pdf文件 #用到的库是pywin32 #思路上是调用了windows和office功能 ''' #导入所需库 from win32com.client ...

  9. python 操作word文档

    因为工作需要操作一些word文档,记录一下学习思路 #-*- encoding: utf8 -*- import win32com from win32com.client import Dispat ...

随机推荐

  1. JVM(二)-内存区域之线程私有区

    概述: 对于从事C.C++开发的程序员来说,在内存管理领域,他们既是拥有最高权力的"皇帝",又是从事最基础工作的劳动人民--既拥有每个对象的"所有权", 又担负 ...

  2. 肝了一周的 UDP 基础知识终于出来了。

    我把自己以往的文章汇总成为了 Github ,欢迎各位大佬 star https://github.com/crisxuan/bestJavaer 已提交此篇文章 运输层位于应用层和网络层之间,是 O ...

  3. day008|python之函数

    函数 目录 函数 1 Type hinting 2 函数参数 2.1 概述 2.2 参数详解 2.3 参数的使用 2.4 可变长函数-->*与**的应用 2.6 命名关键字形参 3 函数对象 3 ...

  4. asp.net core 集成 Prometheus

    asp.net core 集成 prometheus Intro Prometheus 是一个开源的现代化,云原生的系统监控框架,并且可以轻松的集成 PushGateway, AlertManager ...

  5. 测试Hessian反序反序列化 客户端少字段和多字段时能否成功

    import java.io.*; import com.caucho.hessian.io.HessianInput; import com.caucho.hessian.io.HessianOut ...

  6. LeetCode 048 Rotate Image

    题目要求:Rotate Image You are given an n x n 2D matrix representing an image. Rotate the image by 90 deg ...

  7. Django----setting.py配置

    过滤器 1,安装 django-filter 2,注册应用 3,配置settings, 在view里配置可过滤的字段 4,使用 查询字符串携带过滤信息 REST_FRAMEWORK = { # 文档报 ...

  8. day1(ModelViewSet序列化限流排序)

    1.DRF初始化 1.认证 2.权限 3.限流 4.序列化 5.分页 6.版本  7.过滤 8.排序 1.1安装DjangoRestFramework pip install djangoresfra ...

  9. PyQt学习随笔:QTableWidget的visualRow、visualColumn、logicalRow、logicalColumn(可见行、逻辑行、可见列、逻辑列)相关概念及方法探究

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.概念 关于逻辑行logicalRow.列logicalColumn和可见行visualRow.列 ...

  10. PyQt(Python+Qt)学习随笔:部件的inputMethodHints属性

    inputMethodHints属性只对输入部件有效,输入法使用它来检索有关输入法应如何操作的提示,例如,如果设置了只允许输入数字的标志,则输入法可能会更改其可视组件,以反映只能输入数字.相关取值及含 ...