Python读取Word指定位置表格及数据提取实战

拾光
拾光
发布时间:2026-10-13 | 4人浏览过
原创

本文介绍如何使用Python的python-docx库读取Word文档中指定位置的表格数据。通过定位特定文本段落后的表格元素,提取单元格内容并处理,适用于自动化办公场景。

Word文档示例准备

首先,我们需要准备一个包含表格的Word文档作为示例。

Python代码实现

接下来,我们将展示实现该功能的Python代码。


# -*- coding: UTF-8 -*-
from docx import Document
def readSpecTable(filename, specText):
 document = Document(filename)
 paragraphs = document.paragraphs
 allTables = document.tables
 specText = specText.encode('utf-8').decode('utf-8')
 for aPara in paragraphs:
  if aPara.text == specText:
   ele = aPara._p.getnext()
   while (ele.tag != '' and ele.tag[-3:] != 'tbl'):
    ele = ele.getnext()
   if ele.tag != '':
    for aTable in allTables:
     if aTable._tbl == ele:
      for i in range(len(aTable.rows)):
       for j in range(len(aTable.columns)):
        print(aTable.cell(i, j).text)
if __name__ == '__main__':
 readSpecTable('test.docx', '符号约定')

运行结果展示

运行上述代码后,程序将输出从Word文档中提取的表格数据。

符号 符号 含义 数据域取值符号 M 必须填写的域 数据域取值符号 C 某条件成立时必须填写的域 数据域取值符号 O 可选,非必须填写的域 数据域取值符号 ← 必须与先前报文中对应域的值相同的域 数据域取值符号 - 必须去除的域 数据域属性符号 基本数据域 数据域属性符号 [] 标识为消息组件名称数据域 数据域属性符号 {} 标识为消息组件中重复的数据域 数据域属性符号 → 标识为消息组件中包含的基础数据域 数据域属性符号 →[] 标识为消息组件中的子消息组件 数据域属性符号 →{} 标识为子消息组件中重复的数据域块 数据域属性符号 →→ 标识为子消息组件中包含的基础数据域

环境配置与库安装

补充说明:本文将重点讲解如何利用Python读取Word文档中的表格数据。

在开始编码之前,需要确保环境中已安装必要的支持库。

可以通过在命令行中执行pip install python-docx命令来安装该库。

完整代码示例

以下是一个具体的代码示例,展示了如何读取Word文档中的表格数据。


import docx
from docx import Document #导入库
path = "E:\\python_data\\1234.docx" #文件路径
document = Document(path) #读入文件
tables = document.tables #获取文件中的表格集
table = tables[0 ]#获取文件中的第一个表格
for i in range(1,len(table.rows)):#从表格第二行开始循环读取表格数据
 result = table.cell(i,0).text + "" +table.cell(i,1).text+
 table.cell(i,2).text + table.cell(i,3).text
 #cell(i,0)表示第(i+1)行第1列数据,以此类推
 print(result)

总结

总结

以上就是利用Python读取Word文档中指定位置表格及数据的完整介绍。希望这些内容能对大家有所帮助。如果有任何疑问,欢迎留言,小编会及时回复。在此也非常感谢大家对本站网站的支持! 如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表