我们知道在WORD文档中通过点击ENTER键可以实现添加一个新的段落。很多读者就问如何在python-docx包中添加一个段落。
笔者将从文档末尾添加段落,段落的定位,指定段落处添加,这三个大的方面进行详细叙述,并在文末以绘制思维导图的形式,帮助读者朋友们更进一步掌握,如何在python-docx包中添加一个段落。

01末尾添加段落

在WORD文件末尾添加段落要使用add_paragraph()的方法。
add_paragraph(text=u'', style=None)的用法:参数text为段落的内容,为字符串,字符串中可以包含'\t','\n'和'\r'。参数style是段落设置样式。
这个方法可以实现新增一个段落,如果不加任何参数,则新建一个段落,段落内容为空,即只输入一个换行符。见代码。
from docx import Document # 导入docx包
document = Document() # 新建docx文档
paragraph = document.add_paragraph()
document.save('test.docx') # docx文档保存
text参数设置段落的内容。
paragraph = document.add_paragraph(text='这是第一个段落')
也可以直接写入字符串。
paragraph = document.add_paragraph('这是第一个段落')
由于在字符串中可以支持'\n'和'\r',而'\r\n'表示回车,那么我们可以看一下如果在字符串中添加了'\r\n'是否会自动添加一个段落?代码如下:
paragraph = document.add_paragraph('这是第一个段落\r这是第一个段落\n这是第一个段落\r\n这是第一个段落')
print(len(document.paragraphs))
结果打印1,还是1个段落,其中的'\n'和'\r'都被解释成换行,'\r\n'解释成2个换行。也就是说虽然text参数支持'\n'和'\r',但都解释成了换行,不会出现增加一个段落的可能。
运行结果
以上完整代码为:
from docx import Documentdocument = Document()paragraph = document.add_paragraph()paragraph = document.add_paragraph(text='这是第二个段落')paragraph = document.add_paragraph('这是第三个段落')
document.save('test.docx')
运行结果为:
添加三个段落的结果

02段落的定位

在docx文档中,在document类中的paragraphs的属性获取文档中的所有段落,通过索引号来获取段落,其中,段落索引号从0开始。
print(len(document.paragraphs))paragraph = document.paragraphs[1]print(paragraph.text)
结果为:
定位段落运行结果

03指定段落处添加段落

通过选择段落,获取段落的对象,可以使用insert_paragraph_before()函数进行设置,其参数同add_paragraph(),这里不再赘述。
paragraph = document.paragraphs[1] # 获取第二个段落paragraph.insert_paragraph_before('这是添加的新的第二个段落') # 在第二个段落处添加paragraph = document.paragraphs[1] # 获取第二个段落print(len(document.paragraphs))print(paragraph.text)
指定段落处添加运行结果
本篇文章演示用的所有代码如下:
python-docx中添加段落完整代码
笔者主要讲述了如何使用python-docx包在WORD文档的末尾添加新段落,段落定位和在指定段落处添加新段落等三部分内容,主要内容见如下图。
python-docx中添加段落
举报/反馈

小梁学编程

947获赞 185粉丝
专注于科学计算,GIS,编程,软件开发。
关注
0
0
收藏
分享