回覆列表
-
1 # 小小猿愛嘻嘻
-
2 # 軟體測試開發技術棧
我們在做一些資料統計或分析的時候,有時會接觸到Execl 格式或者Word 格式的檔案。Execl格式的資料提取和解析,我們在之前的文章分享過一些非常好用的Python第三方庫,本文中主要介紹如何使用Python python-docx 模組提取Word 檔案中的文字資訊和表格資料。
python-docx 安裝我們在Windows 10 Python3 環境中使用pip進行安裝。
演示文字為了方便理解,我們以python-docx.docx檔案為例,演示如何使用Python提取其中的文字資訊和表格資料,並開發自定義函式以字典的形式提取內容,python-docx.docx檔案內容如下:
在使用python-docx讀取word文件中文字之前,我們先了解下python-docx模組的幾個概念。
Document 物件,表示一個Word文件。Paragraph 物件,表示Word文件中的一個段落。Paragraph 物件的text屬性,表示段落中的文字內容。提取docx檔案中文字資訊
使用python-docx提取docx檔案中文字資料,Python實現程式碼如下:
如上,我們將python-docx.docx檔案中的文字資訊,按行提取出來,儲存到字典中,字典的key為行號,value為文字資訊,執行上述程式碼,輸出結果如下:
提取docx檔案中表格資料使用python-docx 提取docx檔案中表格資料,Python實現程式碼如下:
如上,我們將python-docx.docx檔案中的表單資訊,按行提取出來,儲存到列表中,列表每個元素為一個表格的資料,資料結構為字典,執行上述程式碼輸出結果如下:
提取包含指定關鍵字的文字我們基於上述自定義封裝函式extract_text、extract_form,結合re 模組即可以實現提取包含關鍵字的文字內容,程式碼實現如下:
如上,我們實現了提取docx文字中包含指定內容的文字資訊,並輸出該內容所在行,執行上述程式碼,輸出結果為:
這裡以批次提取Word表格資料為例,簡單介紹一下如何利用Python將指定的內容輸出為Excel,感興趣的朋友可以嘗試一下:
01安裝依賴包批次提取Word內容輸出為Excel,牽扯到Word和Excel操作,因此需要專門第三方模組—python-docx和openpyxl,其中python-docx專門用於讀寫Word文件,openpyxl專門用於讀寫Excel表格,安裝的話,直接在cmd視窗輸入命令“pip install python-docx openpyxl”即可:
02批次提取Word文件內容依賴包安裝完成後,就是批次提取Word內容,這裡以批次提取Word文件內的表格資料為例,測試程式碼如下,非常簡單,基本思路先載入Word文件,然後讀取所有表格資料,最後再用一個list列表儲存下來,當然,你也可以提取文字段落等其他內容,都是可以的,官方文件有詳細說明:
03輸出Excel表格Word資料批次提取完成後,就是將提取的資料寫入到Excel表格中,測試程式碼如下,基本思路先新建一個Excel檔案,然後依次迴圈提取到的表格資料寫入到對應單元格,最後再儲存即可,這裡我在每個Word表格之間空了2行,方便資料檢視,當然,你也可以使用其他模組操作Excel,像pandas、xlwt等都行,只要能實現相關功能就行:
至此,我們就完成了利用Python批次提取Word裡指定內容並輸出為Excel。總的來說,整個過程非常簡單,先提取Word內容,然後再寫入Excel即可,只要你有一定Python基礎,熟悉一下上面的程式碼和示例,很快就能掌握的,網上也有相關教程和資料,介紹的非常詳細,感興趣的話,可以搜一下,希望以上分享的內容能對你有所幫助吧,也歡迎大家評論、留言進行補充。