我知道那里有类似的问题,但我找不到可以回答我的祈祷的东西。我需要的是从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文件的支持较少。 –