从Word文档中提取文本而不使用COM/自动化的最佳方法?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (32)

是否有合理的方法从不依赖COM自动化的Word文件中提取纯文本?

Python解决方案可能是理想的,但似乎是不可用的。

提问于
用户回答回答于

import os

def doc_to_text_catdoc(filename):
    (fi, fo, fe) = os.popen3('catdoc -w "%s"' % filename)
    fi.close()
    retval = fo.read()
    erroroutput = fe.read()
    fo.close()
    fe.close()
    if not erroroutput:
        return retval
    else:
        raise OSError("Executing the command caused an error: %s" % erroroutput)

# similar doc_to_text_antiword()

用户回答回答于

使用我本周创建的本机Pythondocx模块。下面是如何从文档中提取所有文本:

document = opendocx('Hello world.docx')

# This location is where most document content lives 
docbody = document.xpath('/w:document/w:body', namespaces=wordnamespaces)[0]

# Extract all text
print getdocumenttext(document)

扫码关注云+社区