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 ...
随机推荐
- (1)Hello World
语出<论语·卫灵公>:子贡问为仁.子曰:"工欲善其事,必先利其器.居是邦也,事其大夫之贤者,友其士之仁者." 2020年11月终于下定决心开始 Visual C++ 的 ...
- 《应用计算方法教程》matlab作业一
运行界面: 运行界面: 运行界面: 运行界面: 运行界面: 运行界面: 运行界面: 运行界面: 运行界面: 运行界面: word文档百度云链接: 链接:https://pan.baidu.com/s/ ...
- Visual Studio 2019 升级16.8之后(升级.Net 5),RazorTagHelper任务意外失败
vs2019升级16.8后,原来.net core 3.1的项目编译时出现了莫名其妙的错误: 1. "RazorTagHelper"任务意外失败 2. ...provide a v ...
- 【MySQL/C#/.NET】VS2010报错--“.Net Framework Data Provider。可能没有安装。”
前言 公司行业是金融软件,之前用的都是Oracle数据库.Oracle数据库用一个词来形容:大而全.MySQL的话,可能是因为开源.便宜,现在越来越主流. 我们也支持MySQL数据库,不过平时不用.最 ...
- Django 2版本
django2.0里面的path第一个参数不支持正则,你写什么就匹配,100%精准匹配 django2.0里面的re_path对应着django1.0里面的url 虽然django2.0里面的path ...
- 数据库事务ACID/隔离级别
参考博客 1. 事务的定义 事务是用户定义的一个数据库操作序列.这些操作要么全执行,要么全不执行,是一个不可分割的工作单元.在关系型数据库中,事务可以是一条SQL语句,也可以是一组SQL语句或整个程序 ...
- Windows下django项目部署 通过Apache2.4+mod_wsgi
经过几天踩坑,记录在Windows10下通过Apache2.4部署Django项目的过程 运行环境: 先说下环境,怎么安装倒是其次的,版本很重要,我是根据mod_wsgi的版本要求下载的各个版本(py ...
- IAR编译出现Configuration is up-to-date.
IAR编译出现如下: Building configuration: SimpleBLECentral - CC2541EM Updating build tree... Configuration ...
- PyQt(Python+Qt)学习随笔:树型部件QTreeWidget的itemAbove、itemBelow方法作用探究
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 在QTreeWidget的方法中,对于itemBelow.itemAbove方法,官网文档介绍非常简 ...
- 第11.9节 Python正则表达式的贪婪模式和非贪婪模式
在使用正则表达式时,匹配算法存在贪婪模式和非贪婪模式两种模式,在<第11.8节 Pytho正则表达式的重复匹配模式及元字符"?". "*". " ...