【问题标题】:how to read doc file with python NOT Docx如何使用 python NOT Docx 读取 doc 文件
【发布时间】:2021-01-18 12:55:09
【问题描述】:

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

是否有任何类似的模块,或者甚至可以在没有库支持的情况下实现?

【问题讨论】:

    标签: python doc


    【解决方案1】:

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

    import 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
    print(doc.Range().Text)
    

    另一种方法是使用 BeautifulSoup,但这种方法可能会有点问题:

    from bs4 import BeautifulSoup as bs
    soup = bs(open(r"C:\Users\eesam\OneDrive\Documents\Eesa\Paper.doc", encoding="ISO-8859-1").read())
    [s.extract() for s in soup(['style', 'script'])]
    tmpText = soup.get_text()
    text = "".join("".join(tmpText.split('\t')).split('\n')).strip()
    print(text)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-30
      • 1970-01-01
      • 2021-09-01
      • 2012-04-15
      • 1970-01-01
      相关资源
      最近更新 更多