Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何用python而不是Docx读取doc文件_Python_Doc - Fatal编程技术网

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

如何用python而不是Docx读取doc文件,python,doc,Python,Doc,我正在尝试用python读取.doc文件,由于操作系统的依赖性,我不想使用textract。另外,我不想使用docx2txt,因为据我所知,它不读取.doc,而只读取.docx文件 有没有类似的模块,或者在没有库支持的情况下可以实现这一点?一种方法是使用Python的win32com模块。可以使用pip命令下载win32pip安装pywin32。这可以读取.doc文档并返回文本。试试这个: 导入win32com.client word=win32com.client.Dispatch(“word

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


有没有类似的模块,或者在没有库支持的情况下可以实现这一点?

一种方法是使用Python的win32com模块。可以使用pip命令下载win32
pip安装pywin32
。这可以读取.doc文档并返回文本。试试这个:

导入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
打印(doc.Range().Text)
另一种方法是使用BeautifulSoup,但这种方法可能会有点问题:

从bs4导入美化组作为bs
soup=bs(打开(r“C:\Users\eesam\OneDrive\Documents\Eesa\Paper.doc”,encoding=“ISO-8859-1”).read())
[s.extract()表示汤中的s(['style','script'])]
tmpText=soup.get_text()
text=“.join”(“.join(tmpText.split('\t')).split('\n')).strip()
打印(文本)