如何使用 python-docx 从现有的 docx 文件中提取文本

新手上路,请多包涵

我正在尝试使用 python-docx 模块( pip install python-docx )但它似乎非常令人困惑,因为在 github repo 测试示例中他们正在使用 opendocx 函数 butthedoc 他们正在使用 Document 类。即使他们只展示如何向 docx 文件添加文本,而不是读取现有文件?

第一个 ( opendocx ) 不起作用,可能已弃用。对于第二种情况,我试图使用:

 from docx import Document

document = Document('test_doc.docx')
print(document.paragraphs)

它返回了一个列表 <docx.text.Paragraph object at 0x... >

然后我做了:

 for p in document.paragraphs:
    print(p.text)

它返回了所有文本,但几乎没有遗漏任何东西。所有 URL(CTRL+CLICK 转到 URL)都没有出现在控制台的文本中。

问题是什么?为什么缺少网址?

我如何在不遍历循环的情况下获得完整的文本(类似于 open().read()

原文由 Nancy 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 607
1 个回答

你可以试试这个

import docx

def getText(filename):
    doc = docx.Document(filename)
    fullText = []
    for para in doc.paragraphs:
        fullText.append(para.text)
    return '\n'.join(fullText)

原文由 Chinmoy Panda 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题