溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python讀取word 中指定位置的表格及表格數(shù)據(jù)

發(fā)布時(shí)間:2020-09-27 12:37:10 來源:腳本之家 閱讀:579 作者:Chelseady 欄目:開發(fā)技術(shù)

1.Word文檔如下:

python讀取word 中指定位置的表格及表格數(shù)據(jù)

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', '符號(hào)約定')

3.結(jié)果

符號(hào)
符號(hào)
含義
數(shù)據(jù)域取值符號(hào)
M
必須填寫的域
數(shù)據(jù)域取值符號(hào)
C
某條件成立時(shí)必須填寫的域
數(shù)據(jù)域取值符號(hào)
O
可選,非必須填寫的域
數(shù)據(jù)域取值符號(hào)

必須與先前報(bào)文中對(duì)應(yīng)域的值相同的域
數(shù)據(jù)域取值符號(hào)
-
必須去除的域
數(shù)據(jù)域?qū)傩苑?hào)
 
基本數(shù)據(jù)域
數(shù)據(jù)域?qū)傩苑?hào)
[]
標(biāo)識(shí)為消息組件名稱數(shù)據(jù)域
數(shù)據(jù)域?qū)傩苑?hào)
{}
標(biāo)識(shí)為消息組件中重復(fù)的數(shù)據(jù)域
數(shù)據(jù)域?qū)傩苑?hào)

標(biāo)識(shí)為消息組件中包含的基礎(chǔ)數(shù)據(jù)域
數(shù)據(jù)域?qū)傩苑?hào)
→[]
標(biāo)識(shí)為消息組件中的子消息組件
數(shù)據(jù)域?qū)傩苑?hào)
→{}
標(biāo)識(shí)為子消息組件中重復(fù)的數(shù)據(jù)域塊
數(shù)據(jù)域?qū)傩苑?hào)
→→
標(biāo)識(shí)為子消息組件中包含的基礎(chǔ)數(shù)據(jù)域

PS:python讀取word文檔表格里的數(shù)據(jù)

首先需要安裝相應(yīng)的支持庫:

直接在命令行執(zhí)行pip install python-docx

示例代碼如下:

import docx
from docx import Document #導(dǎo)入庫
path = "E:\\python_data\\1234.docx" #文件路徑
document = Document(path) #讀入文件
tables = document.tables #獲取文件中的表格集
table = tables[0 ]#獲取文件中的第一個(gè)表格
for i in range(1,len(table.rows)):#從表格第二行開始循環(huán)讀取表格數(shù)據(jù)
 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列數(shù)據(jù),以此類推
 print(result)

總結(jié)

以上所述是小編給大家介紹的python讀取word 中指定位置的表格及表格數(shù)據(jù),希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)億速云網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI