如何使用python而不是Docx读取doc文件

问题描述 投票:0回答:1

我正在尝试在 python 中读取

.doc
文件,但由于操作系统依赖性,我不想使用 texttract 。另外,我不想使用
docx2txt
,因为据我了解,它不读取
.doc
,而只读取
.docx
文件。

是否有类似的模块,或者甚至可以在没有库支持的情况下实现?

python doc
1个回答
4
投票

一种方法是使用Python的win32com模块。 win32可以使用pip命令

pip install pywin32
下载。这可以读取 .doc 文档并返回文本。试试这个:

import win32com.client

word = win32com.client.Dispatch("Word.Application")
word.visible = False
wb = word.Documents.Open(r"C:\Users\main\OneDrive\Documents\User\Paper.doc")
doc = word.ActiveDocument
print(doc.Range().Text)

另一种方法是使用 BeautifulSoup,但这种方法可能会有点问题:

from bs4 import BeautifulSoup as bs
soup = bs(open(r"C:\Users\main\OneDrive\Documents\User\Paper.doc", encoding="ISO-8859-1").read())
[s.extract() for s in soup(['style', 'script'])]
tmpText = soup.get_text()
text = "".join("".join(tmpText.split('\t')).split('\n')).strip()
print(text)
© www.soinside.com 2019 - 2024. All rights reserved.