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

yipeiwu_com6年前Python基础

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

相关文章

基于Python中求和函数sum的用法详解

基于Python中求和函数sum的用法详解 今天在看《集体编程智慧》这本书的时候,看到一段Python代码,当时是百思不得其解,总觉得是书中排版出错了,后来去了解了一下sum的用法,看了...

python去掉字符串中重复字符的方法

复制代码 代码如下:If order does not matter, you can use "".join(set(foo))set() will create a set of u...

对Python之gzip文件读写的方法详解

gzip文件读写的时候需要用到Python的gzip模块。 具体使用如下: # -*- coding: utf-8 -*- import gzip # 写文件 f_out = gz...

python检测lvs real server状态

复制代码 代码如下:import httplibimport osimport time def check_http(i):    try: &...

python实现合并两个排序的链表

剑指offer:合并两个排序的链表,Python实现 题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 吐槽 本来想用递归实现,但是...