我知道那裏有類似的問題,但我找不到可以回答我的祈禱的東西。我需要的是從MS-Word文件訪問某些數據並將其保存在XML文件中的方法。 閱讀python-docx沒有幫助,因爲它似乎只允許一個人寫入Word文檔,而不是閱讀。 準確地呈現我的任務(或我如何選擇接近我的任務):我想在文檔中搜索關鍵詞或短語(文檔包含表格),並從表格中提取關鍵詞/短語被發現。 有人有什麼想法嗎?如何從Python使用doc/docx文件提取數據
回答
在文檔中搜索與Python,DOCX
# Import the module
from docx import *
# Open the .docx file
document = opendocx('A document.docx')
# Search returns true if found
search(document,'your search string')
你也有一個函數來獲取文檔的文本:
https://github.com/mikemaccana/python-docx/blob/master/docx.py#L910
# Import the module
from docx import *
# Open the .docx file
document = opendocx('A document.docx')
fullText=getdocumenttext(document)
如果您要使用docx抓取表格中的單元格,請確保您閱讀以避免出現性能問題:https://github.com/python-openxml/python-docx/issues/174 – Soferio
docx是一個包含文檔XML的zip文件。您可以打開zip文件,閱讀文檔並使用ElementTree解析數據。
這種技術的優點是你不需要任何額外的Python庫安裝。
import zipfile
import xml.etree.ElementTree
WORD_NAMESPACE = '{http://schemas.openxmlformats.org/wordprocessingml/2006/main}'
PARA = WORD_NAMESPACE + 'p'
TEXT = WORD_NAMESPACE + 't'
TABLE = WORD_NAMESPACE + 'tbl'
ROW = WORD_NAMESPACE + 'tr'
CELL = WORD_NAMESPACE + 'tc'
with zipfile.ZipFile('<path to docx file>') as docx:
tree = xml.etree.ElementTree.XML(docx.read('word/document.xml'))
for table in tree.iter(TABLE):
for row in table.iter(ROW):
for cell in row.iter(CELL):
print ''.join(node.text for node in cell.iter(TEXT))
看到我的計算器答案How to read contents of an Table in MS-Word file Using Python?更多的細節和引用。
請不要發佈鏈接只回答其他Stack Exchange問題。相反,在這裏包括答案的重要部分,並*定製這個具體問題的答案。* – JAL
- 1. 如何使用Python從文本文件中提取數據?
- 2. 如何使用python從mp3文件中提取原始數據?
- 3. python - 從mp3文件中提取數據
- 4. 從python提取文件的數據
- 5. 如何從python中的.vec文件讀取和提取數據
- 6. 使用python從文本文件中提取數據列
- 7. 使用Python從文本文件中的列提取數據
- 8. 如何使用python腳本從文本文件中提取數據?
- 9. 如何從此文件提取數據?
- 10. 如何在Python中使用ReadLine()從文件中提取整數?
- 11. 使用python從.txt文件中提取數據
- 12. 使用Python從JSON文件中提取數據
- 13. 使用python從.numbers文件中提取數據
- 14. 從CSV文件中提取數據AMD使用python
- 15. 使用python從json股票文件中提取數據
- 16. 使用BeautifulSoup和Python從HTML文件中提取數據
- 17. 使用python從多個文件中提取數據
- 18. 如何從python中的.review文件提取數據?
- 19. 使用python從網站提取數據
- 20. 使用Python從網站提取數據
- 21. 如何在Python中使用正則表達式從文件中提取數據?
- 22. 如何從Python中的文本數據文件中提取數據子集
- 23. 如何使用AngularJS從PHP文件中提取數據
- 24. 如何使用ImageJ從DM3文件批量提取元數據?
- 25. 如何從HTML文件中提取數據使用R
- 26. 如何使用java從html文件中提取元數據
- 27. 如何使用C#/ FileHelpers從Excel文件中提取數據ExcelNPOIStorage
- 28. 如何使用記事本++從xml文件中提取數據?
- 29. 如何使用Python從多個.txt文件中提取文本?
- 30. 如何使用Python從文件中讀取數據?
我不得不做類似於xls/xlsx文件的事情,但是這很容易,因爲有openpyxl庫,它允許用戶使用Excel Spreadsheets來做很多事情。但似乎在Python中使用doc/docx文件的支持較少。 –