Python Docx:提取两个给定字符串之间的表格

Python Docx : Extract tables between two given strings

我正在尝试提取在 word 文档中的两段文本之间找到的特定 table 列表。我正在为此使用 python docx,而我面临的是可以通过使用

来解析文本
document.paragraphs[index].text

而table是通过using

解析的
document.tables[index].cell[row,col]

这将文本和 tables 分开,使得仅在两段文本之间包含 tables 的列表变得更加困难。我正在尝试的方法是使用下面表格中每个列表的元素来获取 paragraph/table.

的地址
<docx.text.paragraph.Paragraph object at 0x04299FD0>

然后我会提取每个 table 的地址并检查它是否在开始和结束文本地址之间。但是,问题是所有 table 地址都大于文本的开始和结束地址,我找不到任何关于 python docx 如何找到这些地址的文档,因为我假设地址是连续的循序渐进地通过文件。这个方法行得通吗?我还能尝试什么其他方法来查看 word 文档中两段文本之间的那些 table?

此处描述了此限制的解决方法: https://github.com/python-openxml/python-docx/issues/40

您需要向下滚动到末尾,或许可以按照正常方式以相反的顺序阅读;根据最近版本对 python-docx 内部结构的更改,对程序进行了一些调整。

像下面这样的对象出现的地址指的是内存位置,与 python-docx 文档中的段落顺序或其他内容没有明确的关系。它们可以作为 Python 内存对象的唯一标识符,但仅此而已。请注意与 "document object" 相对的术语 "memory object" 的谨慎使用。例如,如果创建的两个对象都引用文档中的同一段落,它们将具有两个不同的地址。

<docx.text.paragraph.Paragraph object at 0x04299FD0>

可以使用 Python 中的 id() 函数访问这些值。 https://docs.python.org/2/library/functions.html#id