Python之word文档模板套用 - 真正的模板格式套用
Python之word文档模板套用:
1 '''
2 #word模板套用2:套用模板
3 '''
4
5 #导入所需库
6 from docx import Document
7 '''
8 #另存word文档后格式丢失的问题要导入库设定word文档的初始格式
9 from docx.shared import Pt
10 from docx.oxml.ns import qn
11 '''
12
13 #导入模板文档
14 document = Document('D:/路径/模板.docx')
15 '''
16 #如果出现word文档表格格式丢失的时候,需要设置word文档的整体样式,将这一段注释取消
17 document.styles['Normal'].font.name = '微软雅黑'
18 document.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'),u'微软雅黑')
19 document.styles['Normal'].font.size = Pt(12)
20 '''
21 #创建函数
22 def change_text(old_text, new_text):
23 #读取模板文档里的所有段落
24 all_paragraphs = document.paragraphs
25 #开始循环段落
26 for paragraph in all_paragraphs:
27 #开始循环段落里的每个run,如果发现run在打印的时候是不整齐的,那么需要重新创建一份模板,并且以纯文字的方式粘贴
28 for run in paragraph.runs:
29 #开始替换文字内容,用new_text替换old_text,如果没有就不替换
30 run_text = run.text.replace(old_text, new_text)
31 run.text = run_text #再把run_text赋值给run的文字部分,要解释的是,不在paragraph里更改是会丢失格式
32 #获取文档里的所有表格
33 all_tables = document.tables
34 #循环读取每个表格
35 for table in all_tables:
36 #循环读取每个表格的每行
37 for row in table.rows:
38 #循环读取每行的每个单元格
39 for cell in row.cells:
40 #开始替换单元格里的文字内容
41 cell_text = cell.text.replace(old_text, new_text)
42 #再把替换后的文字返还给表格内容
43 cell.text = cell_text
44 #开始替换
45 change_text('不','OK')
46 change_text('女','哈士奇')
47
48 #另存文档,就可以完成格式套用,(可能表格格式会丢失,即不是模板格式,回到新建word文档时候的格式,这就要在代码开头指定整个文档的格式)
49 document.save('test.docx')
Python之word文档模板套用 - 真正的模板格式套用的更多相关文章
- Python之word文档替换字符串(也可以用于短模板套用)
Python之word文档替换字符串(也可以用于短模板套用),代码如下: 1 ''' 2 #word模板套用1:创建模板,适合比较短的文档 3 ''' 4 5 #导入所需库 6 from docx i ...
- 利用Python操作Word文档【图片】
利用Python操作Word文档
- Python读取word文档内容
1,利用python读取纯文字的word文档,读取段落和段落里的文字. 先读取段落,代码如下: 1 ''' 2 #利用python读取word文档,先读取段落 3 ''' 4 #导入所需库 5 fro ...
- 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 ...
随机推荐
- influxdb的基本使用
influxDB名词 database:数据库: measurement:数据库中的表: points:表里面的一行数据. influxDB中独有的一些概念 Point由时间戳(time).数据(fi ...
- 聊聊kafka-client的源码
一,感想 kafka 客户端代码很早以前 我就想研究借鉴一下,我前前后后至少阅读过三遍源码,我发现我看不下去,不知道为啥这么写,在次期间,我也参考了很多的网上的源码分析,我发现自己依然一知半解的, 慢 ...
- Day 1-决胜IT十八招-前言
走资讯这一行转眼间八年多了,从大学的时候,我有长达十年的时间思索在从事软体开發这一行到底怎麽存活下来,这思考下来,为自己总算找到一个出口来,这十八招只是其一的绝学,见阵这一行干软体开發的变化也很大,从 ...
- 【五校联考1day2】JZOJ2020年8月12日提高组T1 对你的爱深不见底
[五校联考1day2]JZOJ2020年8月12日提高组T1 对你的爱深不见底 题目 Description 出乎意料的是,幸运E 的小R 居然赢了那个游戏.现在欣喜万分的小R 想要写一张明信片给小Y ...
- charles 常用功能(七)简易接口压力测试(repeat advance 功能)
接口请求次数.并发量.请求延迟时间均可配置 1.选中需要进行测试的接口,鼠标右键 选中[repeat advance] 设置迭代数量
- 你说说对Java中SPI的理解吧
前言 最近在面试的时候被问到SPI了,没回答上来,主要也是自己的原因,把自己给带沟里去了,因为讲到了类加载器的双亲委派模型,后面就被问到了有哪些是破坏了双亲委派模型的场景,然后我就说到了SPI,JND ...
- PyQt转换显示Python-OpenCV图像实现图形化界面的视频播放
☞ ░ 前往老猿Python博文目录 ░ 一.引言 在Python-OpenCV中显示图像时调用的是一个单独的窗口,有时我们需要将这些图像显示在PyQt的图形化界面上,这样就可以将整个图像显示与PyQ ...
- 第14.4节 使用IE浏览器获取网站访问的http信息
上节<第14.3节 使用google浏览器获取网站访问的http信息>中介绍了使用Google浏览器怎么获取网站访问的http相关报文信息,本节介绍IE浏览器中怎么获取相关信息.以上节为基 ...
- SQL直接生成实体属性,简单粗暴型
在java开发中,不可避免的要碰到根据表生成对应的实体,这个过程是比较机器且繁琐的,我也用过一些逆向工程的工具,比如IDEA自带的生成实体,还有网上开源的工具,用起来也是可以的. 我现在开发用的持久层 ...
- C++编程指南续(10-11)
十.类的继承与组合 对象(Object)是类(Class)的一个实例(Instance).如果将对象比作房子,那么类就是房子的设计图纸.所以面向对象设计的重点是类的设计,而不是对象的设计. 对于C++ ...