1. 程式人生 > 程式設計 >python讀取word 中指定位置的表格及表格資料

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
可選,非必須填寫的域
資料域取值符號

必須與先前報文中對應域的值相同的域
資料域取值符號
-
必須去除的域
資料域屬性符號

基本資料域
資料域屬性符號
[]
標識為訊息元件名稱資料域
資料域屬性符號
{}
標識為訊息元件中重複的資料域
資料域屬性符號

標識為訊息元件中包含的基礎資料域
資料域屬性符號
→[]
標識為訊息元件中的子訊息元件
資料域屬性符號
→{}
標識為子訊息元件中重複的資料域塊
資料域屬性符號
→→
標識為子訊息元件中包含的基礎資料域

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 中指定位置的表格及表格資料,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對我們網站的支援!
如果你覺得本文對你有幫助,歡迎轉載,煩請註明出處,謝謝!