1. 前言
日常自动化办公中,使用 Python 真的能做到事半功倍!
从本篇文章开始,我们聊聊一种常见的文档格式:Word
2. 准备
Python 操作 Word 最常见的依赖库是:python-docx
所以,在开始操作之前,我们需要在虚拟环境下安装这个依赖库
# 安装依赖
pip3 install python-docx
3. 写入实战
我们需要了解一个 Word 文档的页面结构
它们分别是:
-
文档 - Document
-
章节 - Section
-
段落 - Paragraph
-
文字块 - Run
经常操作的数据类型包含:段落、标题、列表、图片、表格、样式
首先,使用 Document 创建一个文档对象,相当于创建一个空白文档
from docx import Document
# 1、新建一个空白文档
doc = Document()
然后,就可以往文档中写入数据了
使用文档对象的 add_heading(text,level) 方法可以写入标题
其中,第 1 个参数为标题内容,第 2 个参数代表标题的级别
比如:分别写入一级标题、二级标题、三级标题
# 2、新增内容
# 2.1 标题
# 分别写入一个一级标题,一个二级标题,一个三级标题
doc.add_heading('一级标题', 0)
doc.add_heading('二级标题', 1)
doc.add_heading('三级标题', 2)
段落 Paragraph 包含 3 类,分别是:
-
普通段落
-
自定义样式的段落
-
引用段落
默认情况下,使用文档对象的 add_paragraph(text,style) 方法来添加一个段落
普通段落:假如第二个参数 style 没有传入,则代表添加一个普通的段落
引用段落:对于引用段落,只需要指定段落样式为 Intense Quote 即可
# 2.2.1 新增普通段落
doc.add_paragraph("我是一个普通段落。")
# 2.2.3 新增一个引用段落
# 只需要指定样式为:Intense Quote
doc.add_paragraph('--我是一个引用段落--', style='Intense Quote')
自定义样式的段落:这里有 2 种实现方式
分别是:
-
创建一个空的段落对象,增加文字块 Run 的时候,同时指定字体样式
-
使用文档对象创建一个新的样式(或已经存在的样式),然后添加段落的时候,设置到第二个参数中
考虑到样式的样式的复用性,第 2 种方式可能更实用
对应的方法是:
document.styles.add_style(style_name,type)
以第 2 种实现方式为例,新增一个自定义样式的段落,设置段落的字体名称、大小、颜色、是否加粗、对齐方式等