乐于分享
好东西不私藏

自动化操作Word -- Word 文档内容写入

自动化操作Word -- Word 文档内容写入
Word 文档在我们的工作中也扮演了重要的角色,各种合同、通知、请示等基本都采用 Word 格式的。
对于单个 Word 文档,我们可以手动读取内容、写入内容以及调整样式。假如有成千上万个文档,就需要借助 Python 编程来实现自动化处理。

Word 文档内容写入

本节主要介绍如何向 Word 文档中写入内容。

给 Word 文档添加文字内容

在前面的文章中,我们学会了如何提取 Word 文档中的段落、标题、文字块。本小节将为大家讲述如何给 Word 文档分别添加段落、标题、文字块。

1. 添加段落

对于如图所示的 Word 文档,我们如何为该文档新增一个段落呢?
在 python-docx 模块中,调用文档对象的 add_paragraph() 方法,可以帮助我们添加一个段落。
在交互式环境中输入如下命令:
from docx import Documentdoc = Document("添加文字.docx")doc.add_paragraph("给 Word 文档新增一个段落")doc.save("添加文字_添加段落.docx")
在获取到文档对象 doc 后,调用 add_paragraph() 方法(见 1),会自动在文档末尾新增一个段落。最终效果如图所示。
有时候,我们想在指定位置添加某些内容,应该怎么做呢?
在 python-docx 模块中,调用段落对象的 insert_paragraph_before() 方法,可以在指定段落之前,新增一个段落。
在交互式环境中输入如下命令:
from docx import Documentdoc = Document("添加文字.docx")p = doc.paragraphs[2]p.insert_paragraph_before("在指定段落之前,新增一个段落。")doc.save("添加文字_指定段落前新增段落.docx")
在 1 处,获取到第 3 段的段落对象后,调用 insert_paragraph_before() 方法,我们在第 3 段之前新增了一个段落(见 2)。最终效果如图所示。

2. 添加标题

在 python-docx 模块中,调用文档对象的 add_heading() 方法,可以帮助我们添加一个标题。它的语法格式如图所示。
对于如图所示的 Word 文档,我们如何为该文档新增一个标题呢?
在交互式环境中输入如下命令:
from docx import Documentdoc = Document("添加文字.docx")doc.add_heading("我是新增的一级标题", level=1)doc.save("添加文字_新增标题.docx")
在获取到文档对象 doc 后,直接调用 add_heading() 方法,可以在文末新增一个标题。其中,level=1 表示添加一个一级标题(见 1)。最终效果如图所示。

3. 添加文字块

在 python-docx 模块中,调用段落对象的 add_run() 方法,可以用来添加文字块。
如图所示,如何在 Word 文档中新增一个文字块呢?
在交互式环境中输入如下命令:
from docx import Documentdoc = Document("添加文字.docx")p = doc.paragraphs[1]p.add_run("我是新增的文字块!").bold=Truep.add_run("再添加一个不同的文字块!").italic=Truedoc.save("添加文字_新增文字块.docx")
在 1 处,获取到第二段的段落对象后,调用 add_run() 方法,我们添加了一个文字块(见 2)。再次调用 add_run() 方法,又添加了一个文字块(见 3)。最终效果如图所示。

小贴士

在上述代码中,bold 属性可用来设置“是否加粗”,italic 属性可用来设置“是否为斜体”。后续章节我们会详细介绍文档样式设置。



系列完整内容可以在公众号主页搜索或点击分栏找到,欢迎扫码关注预防迷路找不到。感谢您的支持与相伴。