从内部Zip文件中读取.xdoc Word文档?

时间:2019-02-18 19:35:09

标签: python python-3.x ms-word docx zipfile

*这是在Python 3.6中*

是否可以在Python中从.zip文件中读取Word文档而无需提取任何内容?如果没有,是否可以专门提取所述Word文档?

当前,我正在尝试以下操作:

import docx2txt
import zipfile

archive = zipfile.ZipFile(dir_path, 'r')
text = archive.read(file_name)
docx2txt.process(text)

哪个给我错误:'bytes' object has no attribute 'seek'。 同样,打印的文本如下所示:

b'PK\x03\x04\x14\x00\x06\x00\x08\x00\x00\x00!\x008\x9a\x1eJ\xbd\x01\x00\x00`\t\x00\x00\x13\x00\x08\x02[Content_Types].xml \xa2\x04\x02(\xa0\x00\x02\...

我不知道这是什么,但是尝试以标准方式对其进行解码也不起作用:

text.decode(encoding="utf-8")

这只会给我:'utf-8 codec can't decode byte 0x9a in position 15: invalid start byte

或者,如果我尝试不使用docx2txt对其进行解码,则会给出一串只能视为乱码的字符串:

import io

archive = zipfile.ZipFile(dir_path, 'r')
text = archive.open(file_name, 'r')
text = io.TextIOWrapper(text, encoding='iso-8859-1', newline='')
text = text.read()

结果是一个包含一串字符的字符串,如下所示:

5g²àðÁYÑ[¶ê©Ü2 Ê]pä²"E¯ÜeA+Ê}p i;p!Hå>8

反正有没有在不解压缩的情况下实际读取此.docx文件吗?

0 个答案:

没有答案