Python-docx 模块读写 Word 文档基础(三):读取文档文本信息、表格信息、段落格式、字体格式等
前言:
前两篇博客介绍了 Python 的 docx 模块对 Word 文档的写操作,这篇博客将介绍如何用 docx 模块读取已有 Word 文档中的信息。
本篇博客主要内容有:
1、获取文档的章节信息;
2、获取段落文本信息;
3、获取表格内文本信息;
4、获取文档内格式信息。
1、获取文档章节信息:
1、用docx模块获取已有的word文档对象:
from docx import Document
# Document 类,不仅可以新建word文档,也可以打开一个本地文档
doc = Document('test03.docx') # 想获取的文档文件名,这里是相对路径。
用做示例的 test03.docx 文件截图如下:
文档中有两个章节共两页(一个章节一页),一个章节的页面为 A3 ,另一个为 A4。
2、获取文档章节信息:
# 获取文档所有章节
sections = doc.sections
"class Sections(Sequence):"
print(sections)
# <docx.section.Sections object at 0x000000000B2E1148>
# 查看章节数量
print(len(sections)) # 2
注意:
章节对象的概念虽然比段落对象大,章节对象可以设置本章节的页面大小页眉页脚等,在该章节的段落对象必须遵守该章节的设置。
但是又并不存在包含关系,也就是说不能通过章节对象获取到段落信息。
3、获取页边距等信息:
# 获取章节对象的页边距等信息
sec0 = sections[0]
"class Section(object):"
'''
官方解释:文档节,提供对节和页面设置的访问。
还提供对页眉和页脚的访问。
'''
print(sec0)
# <docx.section.Section object at 0x000000000B2D5708>
# 获取章节页面信息
# 获取页面边距值:(单位为像素)
print('左边距:',sec0.left_margin)
# 左边距: 914400
print('右边距:',sec0.right_margin)
# 右边距: 914400
print('上边距:',sec0.top_margin)
# 上边距: 1143000
print('下边距:',sec0.bottom_margin)
# 下边距: 1143000
print('页眉边距:',sec0.header_distance)
# 页眉边距: 540385
print('页脚边距:',sec0.footer_distance)
# 页脚边距: 629920
print('页面方向:',sec0.orientation)
# 页面方向: LANDSCAPE (1)
print('页面高度:',sec0.page_height)
# 页面高度: 10657205
print('页面宽度:',sec0.page_width)
<