Python之word文档替换字符串(也可以用于短模板套用)
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文档替换字符串(也可以用于短模板套用)的更多相关文章
- Python之word文档模板套用 - 真正的模板格式套用
Python之word文档模板套用: 1 ''' 2 #word模板套用2:套用模板 3 ''' 4 5 #导入所需库 6 from docx import Document 7 ''' 8 #另存w ...
- Python读取word文档内容
1,利用python读取纯文字的word文档,读取段落和段落里的文字. 先读取段落,代码如下: 1 ''' 2 #利用python读取word文档,先读取段落 3 ''' 4 #导入所需库 5 fro ...
- 利用Python操作Word文档【图片】
利用Python操作Word文档
- 2018-10-04 [日常]用Python读取word文档中的表格并比较
最近想对某些word文档(docx)的表格内容作比较, 于是找了一下相关工具. 参考Automate the Boring Stuff with Python中的word部分, 试用了python-d ...
- Python读取word文档(python-docx包)
最近想统计word文档中的一些信息,人工统计的话...三天三夜吧 python 不愧是万能语言,发现有一个包叫做 docx,非常好用,具体查看官方文档:https://python-docx.read ...
- python读取word文档
周末需要做一个统计word文档字数的问题,刚开始以为很简单,因为之前做过excel表格相关的任务,所以认为利用扩展模块应该比较简单. 通过搜索,确实搜到了一个python操作word的模块,pytho ...
- Python将word文档批量转PDF
前面有一篇<Python批量创建word文档(2)- 加图片和表格>的文章,利用这篇文章创建的word文档来批量转PDF文档.代码: 1 ''' 2 #python批量将word文档转换成 ...
- Python将word文档转换成PDF文件
如题. 代码: ''' #將word文档转换为pdf文件 #用到的库是pywin32 #思路上是调用了windows和office功能 ''' #导入所需库 from win32com.client ...
- python 操作word文档
因为工作需要操作一些word文档,记录一下学习思路 #-*- encoding: utf8 -*- import win32com from win32com.client import Dispat ...
随机推荐
- python基础之操作列表
遍历元素 magicians = ['alice','david','carolina'] for magician in magicians: print(magician) magicians = ...
- github搭建html网站到外网
最近想自己弄个网站,但又没有服务器可以用,只好借用强大得github来帮忙了,不过GitHub确实有这个功能. 感谢以下大佬得教程,非常得详细,但我觉得还是有必要记录下来. 大佬链接: https:/ ...
- HDU4632 Palindrome subsequence
标签(空格分隔): 区间qp Palindrome subsequence \[求一个string的 回文子序列 的个数 \] 少废话,上代码. #include<bits/stdc++.h&g ...
- 【mq读书笔记】客户端处理消息(回调提交到异步业务线程池,pullRequest重新入队)
看一下客户端收到消息后的处理: MQClientAPIImpl#processPullResponse private PullResult processPullResponse( final Re ...
- 一枚程序猿的MacBook M1详细体验报告
前言 2020年11月11日双十一上午,苹果发布了M1芯片的新款Mac,其最大的变化就是将处理器从Intel换成了苹果自研的ARM芯片M1. 上一次苹果更换Mac芯片要追溯到2006年,14年前,苹果 ...
- Golang自学系列
为什么会有这个系列? 因为我要往架构方向靠拢啊. 关于架构,其实架构的书我看了<架构整洁之道>,也有<实现驱动领域设计>.但是我感觉明显还不够,所以我在极客时间买了一个架构相关 ...
- Kubernetes K8S之固定节点nodeName和nodeSelector调度详解
Kubernetes K8S之固定节点nodeName和nodeSelector调度详解与示例 主机配置规划 服务器名称(hostname) 系统版本 配置 内网IP 外网IP(模拟) k8s-mas ...
- 第15.29节 PyQt(Python+Qt)入门学习:containers容器类部件QScrollArea滚动区域详解
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.概述 Scroll Area提供了一个呈现在其他部件上的可滚动区域视图,滚动区域用于显示框架内的 ...
- PyQt(Python+Qt)学习随笔:QTableWidget项编辑方法editItem、openPersistentEditor
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 1.触发编辑项的editItem方法 QTableWidget提供了触发项编辑的方法,调用语法如下: ...
- HTTP接口传输数据常用的方式
Get方式是从服务器上获取数据,在数据查询时,建议用Get方式:如商品信息接口.搜索接口等 Post方式是向服务器传送数据,做数据添加.修改或删除时,建议用Post方式,如登录注册接口等. 1.GET ...