textract ``` UnicodeDecodeError: 'cp949' codec can't decode bytes ```

wgmfuz8q  于 2个月前  发布在  其他
关注(0)|答案(3)|浏览(50)

我遇到了一些特定类型的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

2nc8po8w

2nc8po8w1#

感谢您提供示例!我非常确定这是一个chardet版本问题。当我成功从您的文件中提取文本时,我能够pip install chardet==2.1.1。我将把chardet固定到那个版本,直到问题得到解决;希望这能解决您的问题!

8xiog9wr

8xiog9wr2#

令人失望。将chardet回滚到2.1.1版本可以与py2一起使用,但与py3不兼容。我将保持这个问题开放,直到chardet/chardet#98问题得到解决。在这段时间里,这个问题将作为py2用户的解决方案的文档。

aurhwmvo

aurhwmvo3#

我遇到了相同的错误,在我的Ubuntu上。我只是安装了这个sudo apt install unoconv,并使用这个工具将doc转换为docx(使用了异常处理)。

相关问题