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

2024-04-19 19:53:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试用python读取.doc文件,由于操作系统的依赖性,我不想使用textract。另外,我不想使用docx2txt,因为据我所知,它不读取.doc,而只读取.docx文件

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


Tags: 模块文件doc情况依赖性docxtextractdocx2txt
1条回答
网友
1楼 · 发布于 2024-04-19 19:53:53

一种方法是使用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\eesam\OneDrive\Documents\Eesa\Paper.doc")
doc = word.ActiveDocument
print(doc.Range().Text)

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

from bs4 import BeautifulSoup as bs
soup = bs(open(r"C:\Users\eesam\OneDrive\Documents\Eesa\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)

相关问题 更多 >