深圳幻海软件技术有限公司 欢迎您!

Python 实现docx文件的读写操作

2023-02-27

 我们在做一些数据统计或分析的时候,有时会接触到Execl格式或者Word格式的文件。Execl格式的数据提取和解析,我们在之前的文章分享过一些非常好用的Python第三方库,本文中主要介绍如何使用Pythonpython-docx模块提取Word文件中的文本信息和表格数据。python-

 我们在做一些数据统计或分析的时候,有时会接触到Execl 格式或者Word 格式的文件。Execl格式的数据提取和解析,我们在之前的文章分享过一些非常好用的Python第三方库,本文中主要介绍如何使用Python python-docx 模块提取Word 文件中的文本信息和表格数据。

python-docx 安装

本文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 文件中的表单信息,按行提取出来,存储到列表中,列表每个元素为一个表格的数据,数据结构为字典,执行上述代码输出结果如下:

 

 

写入数据到docx文件中

我们同样可以利用python-docx 模块,实现docx文件的数据写入,如标题、字号、引用、列表、图片插入等等。由于如下代码注释中说明比较详细,此处不做过多介绍,代码如下:

 

 

执行上述代码,写入数据保存至testops—docx.docx 文件中,内容如下:

 

 

提取包含指定关键字的文本

我们基于上述自定义封装函数 extract_text、extract_form,结合re 模块,就可以实现提取包含关键字的文本内容,代码实现如下:

 

 

如上,我们实现了提取docx 文本中包含指定内容的文本信息,并输出该内容所在行,执行上述代码,输出结果为: