python读取word 中指定位置的表格

1.Word文档如下:

2.代码

# -*- 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', '符号约定')

3.结果

符号
符号
含义
数据域取值符号
M
必须填写的域
数据域取值符号
C
某条件成立时必须填写的域
数据域取值符号
O
可选,非必须填写的域
数据域取值符号
←
必须与先前报文中对应域的值相同的域
数据域取值符号
-
必须去除的域
数据域属性符号

基本数据域
数据域属性符号
[]
标识为消息组件名称数据域
数据域属性符号
{}
标识为消息组件中重复的数据域
数据域属性符号
→
标识为消息组件中包含的基础数据域
数据域属性符号
→[]
标识为消息组件中的子消息组件
数据域属性符号
→{}
标识为子消息组件中重复的数据域块
数据域属性符号
→→
标识为子消息组件中包含的基础数据域

 

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值