Python 3.x 在windows 10上读取python中的.doc文件
注意:这被标记为的潜在副本,但我的问题是使用textract不起作用。我正在寻找(a)一种让textract在windows 10上工作的方法,或者(b)另一种解决方案 我正在构建一个需要读取各种类型文件的系统。我已经设置了pdfminer来读取.pdfs,并根据所述的过程安装了textract,现在我还可以读取.docx文件。然而,textract依赖antiword来读取.doc文件,我无法让它工作,即使按照说明操作,我也无法找到并安装antiword的工作版本。我的机器上没有安装microsoft word,我正在使用python 3.6.5运行windows 10。有没有其他方法读取.doc文件 下面是运行textract.process('d.doc')时出现的错误(忽略第一个错误,文件肯定存在):Python 3.x 在windows 10上读取python中的.doc文件,python-3.x,text-extraction,.doc,Python 3.x,Text Extraction,.doc,注意:这被标记为的潜在副本,但我的问题是使用textract不起作用。我正在寻找(a)一种让textract在windows 10上工作的方法,或者(b)另一种解决方案 我正在构建一个需要读取各种类型文件的系统。我已经设置了pdfminer来读取.pdfs,并根据所述的过程安装了textract,现在我还可以读取.docx文件。然而,textract依赖antiword来读取.doc文件,我无法让它工作,即使按照说明操作,我也无法找到并安装antiword的工作版本。我的机器上没有安装micro
回溯(最近一次呼叫最后一次):
文件“C:\ProgramData\Anaconda3\lib\site packages\textract\parsers\utils.py”,第84行,正在运行
stdout=subprocess.PIPE,stderr=subprocess.PIPE,
文件“C:\ProgramData\Anaconda3\lib\subprocess.py”,第709行,在\uuu init中__
恢复信号,启动新会话)
文件“C:\ProgramData\Anaconda3\lib\subprocess.py”,第997行,在_execute_child中
startupinfo)
FileNotFoundError:[WinError 2]系统找不到指定的文件
在处理上述异常期间,发生了另一个异常:
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“C:\ProgramData\Anaconda3\lib\site packages\textract\parsers\\uuuu init\uuuu.py”,第77行,正在处理中
返回parser.process(文件名,编码,**kwargs)
文件“C:\ProgramData\Anaconda3\lib\site packages\textract\parsers\utils.py”,第46行,正在处理中
byte_string=self.extract(文件名,**kwargs)
文件“C:\ProgramData\Anaconda3\lib\site packages\textract\parsers\doc\u parser.py”,第9行,摘录
stdout,stderr=self.run(['antiword',filename])
文件“C:\ProgramData\Anaconda3\lib\site packages\textract\parsers\utils.py”,第91行,正在运行
“.加入(args),127,”,
textract.exceptions.ShellError:命令antiword d.doc失败,退出代码为127
我能够使用olefile获得部分文本,但olefile最终只处理字节,而不处理Word.doc文件的编码。解决方案是使用LibreOffice,请参阅“Windows安装问题”系列中我的另一个问题:
在遵循“安装”antiword的步骤之后,我遇到了与您相同的问题
在设置环境路径变量后重新启动windows完全解决了这个错误消息。(这是我在使用textract处理.doc文件时遇到的最后一个错误)
安装说明摘自 “安装反Word (我接着说)
- 去
- 提取到c:\antiword(是,它必须位于根目录中)
- 将位置添加到路径,就像我们在tesseract ocr中所做的那样[基本上是将c:\antiword添加到系统路径(环境变量)]”
Traceback (most recent call last):
File "C:\ProgramData\Anaconda3\lib\site-packages\textract\parsers\utils.py", line 84, in run
stdout=subprocess.PIPE, stderr=subprocess.PIPE,
File "C:\ProgramData\Anaconda3\lib\subprocess.py", line 709, in __init__
restore_signals, start_new_session)
File "C:\ProgramData\Anaconda3\lib\subprocess.py", line 997, in _execute_child
startupinfo)
FileNotFoundError: [WinError 2] The system cannot find the file specified
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\ProgramData\Anaconda3\lib\site-packages\textract\parsers\__init__.py", line 77, in process
return parser.process(filename, encoding, **kwargs)
File "C:\ProgramData\Anaconda3\lib\site-packages\textract\parsers\utils.py", line 46, in process
byte_string = self.extract(filename, **kwargs)
File "C:\ProgramData\Anaconda3\lib\site-packages\textract\parsers\doc_parser.py", line 9, in extract
stdout, stderr = self.run(['antiword', filename])
File "C:\ProgramData\Anaconda3\lib\site-packages\textract\parsers\utils.py", line 91, in run
' '.join(args), 127, '', '',
textract.exceptions.ShellError: The command antiword d.doc failed with exit code 127