之前介绍了一个Python包 openpyxl ,用于处理 Excel ;而对于 Word 文本时同样也有对应的 Python库 Python-docx,在日常办公中,如果需要处理多个 word 文本,且操作步骤都是重复单调的,我想这个库就可以帮到你
在了解 Python-docx 常用函数之前,需要知道 在 Python-docx 各命令所对应 word 各部件,下图所示,
- Document 指的是 word 文档;
- paragraph 对应段落;
- run 对应 一句话中的各个字段,样式调整时,一般面向的操作对象都是逐字段进行;
1,安装 Python-docx
通过 pip 工具即可进行安装,在命令行中输入 pip install Python-docx 即可
2,创建或打开 Document
Python-docx 导入包时是以 docx 命令存在的,与 Opencv 的 Python 版本导入方法相似;创建文件、打开文件以 Document() 命令操作,这里操作时需要注意几个点:
1,Document() 命令是基于默认”模板“创建一个空白文档,随后可对文档进行编辑操作,最后没有用 save() 函数存储的话,文档将伴随程序结束同内存一起
2,Document(path) 命令表示打开一个本地已经存在的 docx 文件,path 表示存放目录若不存在则程序报错;
下面代码中,创建了一个空白 docx,赋值给 document
from docx import Document
document = Document()
3,加入一段落
段落作为 docx 文档正文的主要成分,那怎样在创建好的 Document 中加入一段话呢?官方给出了两种方式
1,在文档后面插入
这种方法是比较常见且简单的,命令如下
paragraph = document.add_paragraph('Lorem ipsum dolor sit amet.')
方法中将创建好的段落引用指向 paragraph ,表明了光标的位置,后面的一些操作可以借助 paragraph 引用变量来作为定位操作
2,在指定地方的前面插入
文档编辑正常顺序是在末尾进行编辑,但有时在编辑时可能失误少输入一段话或文字,这时就用到 在指定位置前面 进行插入操作
prior_paragraph = paragraph.insert_paragraph_before('Lorem ipsum')
此命令常用于 修正文档 ,当需要在一段话前面添加一些别的文字时。
4,标题
docx 中 会用一、二、三级标题将正文分为几部分,让文本主次感更强;P
ython-docx 有对应的内置函数供我们使用,内置函数中标题分为主标题和子标题
创建标题的函数方法中,有一个参数 level 可进行修改,若不设定时默认为 主标题(leve = 0);
document.add_heading('The REAL meaning of the universe')
子标题分为 1-9 九个等级,修改参数 level 即可
document.add_heading('The role of dolphins', level=2)
5,分页符
在 Word 中进行文本编辑,想在单独的一个新页面编写文本时,就需要加入一个 强制分页符,命令如下
document.add_page_break()
这里需要注意下,加入分页符之后,新页面上编辑的段落样式属性与之前页面段落属性是分隔开的
6,表格
在文档中创建一个 2*2 的 表格
table = document.add_table(rows=2, cols=2)