Datawhale组队学习自学笔记,开源内容:链接
#pip install python-docx 安装库
Word 文档的页面结构 :
- 文档 - Document
- 段落 - Paragraph
- 文字块 - Run
python-docx
将整个文章看做是一个Document对象 ,其基本结构如下:
- 每个
Document
包含许多个代表“段落”的Paragraph对象,存放在document.paragraphs中。 - 每个
Paragraph
都有许多个代表"行内元素"的Run对象,存放在paragraph.runs中。
在python-docx
中,run
是最基本的单位,每个run
对象内的文本样式都是一致的,也就是说,在从docx
文件生成文档对象时,python-docx
会根据样式的变化来将文本切分为一个个的Run
对象。
简单案例
# 导入库
from docx import Document
# 新建空白文档
doc_1 = Document()
# 添加标题(0相当于文章的题目,默认级别是1,级别范围为0-9)
doc_1.add_heading('新建空白文档标题,级别为0',level = 0)
doc_1.add_heading('新建空白文档标题,级别为1',level = 1)
doc_1.add_heading('新建空白文档标题,级别为2',level = 2)
# 新增段落
paragraph_1 = doc_1.add_paragraph('这是第一段文字的开始\n请多多关照!')
# 加粗
paragraph_1.add_run('加粗字体').bold = True
paragraph_1.add_run('普通字体')
# 斜体
paragraph_1.add_run('斜体字体').italic =True
# 新段落(当前段落的下方)
paragraph_2 = doc_1.add_paragraph('新起的第二段文字。')
# 新段落(指定端的上方)
prior_paragraph = paragraph_1.insert_paragraph_before('在第一段文字前插入的段落')
# 添加分页符(可以进行灵活的排版)
doc_1.add_page_break()
# 新段落(指定端的上方)
paragraph_3 = doc_1.add_paragraph('这是第二页第一段文字!')
# 保存文件(当前目录下)
doc_1.save('doc_1.docx')