我遇到了一些特定类型的rtf文件时出现了这个错误。
堆栈跟踪:
文件 "/Library/Python/2.7/site-packages/textract/parsers/init.py",第57行,在process函数中
return parser.process(filename, encoding, **kwargs)
文件 "/Library/Python/2.7/site-packages/textract/parsers/utils.py",第45行,在process函数中
unicode_string = self.decode(byte_string)
文件 "/Library/Python/2.7/site-packages/textract/parsers/utils.py",第64行,在decode函数中
return text.decode(result['encoding'])
例如,附上的rtf文件(压缩)
PARTNERSHIP INTEREST PURCHASE AGREEMENT.rtf.zip
3条答案
按热度按时间2nc8po8w1#
感谢您提供示例!我非常确定这是一个chardet版本问题。当我成功从您的文件中提取文本时,我能够
pip install chardet==2.1.1
。我将把chardet固定到那个版本,直到问题得到解决;希望这能解决您的问题!8xiog9wr2#
令人失望。将chardet回滚到2.1.1版本可以与py2一起使用,但与py3不兼容。我将保持这个问题开放,直到chardet/chardet#98问题得到解决。在这段时间里,这个问题将作为py2用户的解决方案的文档。
aurhwmvo3#
我遇到了相同的错误,在我的Ubuntu上。我只是安装了这个
sudo apt install unoconv
,并使用这个工具将doc转换为docx(使用了异常处理)。