大家在做一些数据统计或分析的时候,有时会接触到Execl 格式或者Word 格式的文件。Execl格式的数据提取和解析,大家在之前的文章分享过一些非常好用的Python第三方库,本文中主要介绍如何使用Python python-docx 模块提取Word 文件中的文本信息和表格数据。
python-docx 安装
大家在Windows 10 Python3 环境中使用pip进行安装。
演示文本
为了方便理解,大家以python-docx.docx文件为例,演示如何使用Python提取其中的文本信息和表格数据,并开发自定义函数以字典的形式提取内容,python-docx.docx文件内容如下:
在使用python-docx读取word文档中文本之前,大家先了解下python-docx模块的几个概念。
Document 对象,表示一个Word文档。Paragraph 对象,表示Word文档中的一个段落。Paragraph 对象的text属性,表示段落中的文本内容。提取docx文件中文本信息
使用python-docx提取docx文件中文本数据,Python实现代码如下:
如上,大家将python-docx.docx文件中的文本信息,按行提取出来,存储到字典中,字典的key为行号,value为文本信息,执行上述代码,输出结果如下:
提取docx文件中表格数据
使用python-docx 提取docx文件中表格数据,Python实现代码如下:
如上,大家将python-docx.docx文件中的表单信息,按行提取出来,存储到列表中,列表每个元素为一个表格的数据,数据结构为字典,执行上述代码输出结果如下:
提取包含指定关键字的文本
大家基于上述自定义封装函数extract_text、extract_form,结合re 模块即可以实现提取包含关键字的文本内容,代码实现如下:
如上,大家实现了提取docx文本中包含指定内容的文本信息,并输出该内容所在行,执行上述代码,输出结果为: