如何使用Python阅读Microsoft Word?
阅读更多:Python 教程
简介…
我不喜欢Microsoft Word和电子表格,没有冒犯之意。作为一名数据工程专家,我经常从测试人员那里收到使用Microsoft Word编写的测试结果。哎!他们把如此多的信息放进Word文档里,从截图、链接到大段、非常大段的文本。Microsoft Word非常擅长将本应简单的文本文档或小型信息转换成大而缓慢、难以打开的野兽,而且常常在不同的机器上丢失格式。
不过,我不得不承认,我所讨厌的,对他人来说可能是很好的,反之亦然。
回到题目,Python对Word的支持并不太好。Python-docx库可以让用户创建文件并读取基本的文件信息,如文件大小和标题,但无法读取实际内容。因此,为了处理测试结果,我必须编写自定义代码。
我会导入从网上获得的一个Word文档样本。该文件位于以下位置 – https://file-examples-com.github.io/uploads/2017/02/file-sample_100kB.docx 。
怎么做…
1. 让我们开始引入库。
from zipfile import ZipFile
from urllib.request import urlopen
from io import BytesIO
2.现在我们将远程Word文档读取为二进制文件对象。然后使用zipfile库将其解压缩,然后读取未压缩的文件,即XML文件。
当然,我们将打印出内容。
file_url = 'https://file-examples-com.github.io/uploads/2017/02/file-sample_100kB.docx'
# read the word document
wordDocx = urlopen(file_url).read()
wordDocx = BytesIO(wordDocx)
document = ZipFile(wordDocx)
#get the xml content
xml_content = document.read('word/document.xml')
# print the xml content
print(xml_content.decode('utf-8'))