python

超轻量级php框架startmvc

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

更新时间:2020-08-04 11:24 作者:startmvc
1.Word文档如下:2.代码#-*-coding:UTF-8-*-fromdocximportDocumentdefreadSpecTable(filename,specText):document=Docum

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

PS:python读取word文档表格里的数据

首先需要安装相应的支持库:

直接在命令行执行pip install python-docx

示例代码如下:


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 中指定位置的表格及表格数据,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持! 如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!