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
可选,非必须填写的域
数据域取值符号
←
必须与先前报文中对应域的值相同的域
数据域取值符号
-
必须去除的域
数据域属性符号
基本数据域
数据域属性符号
[]
标识为消息组件名称数据域
数据域属性符号
{}
标识为消息组件中重复的数据域
数据域属性符号
→
标识为消息组件中包含的基础数据域
数据域属性符号
→[]
标识为消息组件中的子消息组件
数据域属性符号
→{}
标识为子消息组件中重复的数据域块
数据域属性符号
→→
标识为子消息组件中包含的基础数据域