我正在尝试提取在word文档中的两段文本之间找到的特定表格列表。我正在使用python docx,我面临的是文本可以通过使用
进行解析LightSchema
BaseSchema
aSchema
bSchema
通过使用
解析表格document.paragraphs[index].text
这会分隔文本和表格,使得在两段文本之间包含表格列表变得更加困难。我正在尝试的方法是使用下面表格中每个列表的元素来获取段落/表格的地址。
document.tables[index].cell[row,col]
然后,我会提取每个表的地址,并检查它是否在起始和结束文本的地址之间。但是,问题是所有的表地址都大于文本的起始和结束地址,我找不到任何关于python docx如何找到这些地址的文档,因为我假设地址是逐步顺序通过文档的。这种方法有用吗?我还可以尝试在word文档中的两段文本之间查看这些表格吗?
答案 0 :(得分:1)
此处描述的此限制有一种解决方法: https://github.com/python-openxml/python-docx/issues/40
您想要向下滚动到最后,也许会以相反的顺序和常规方式阅读;根据最近版本python-docx
内部的更改,对程序进行了一些调整。
为下面的对象显示的地址引用内存位置,并且与python-docx文档中段落或其他内容的顺序没有定义的关系。可以依赖它们作为该Python内存中对象的唯一标识符,但仅此而已。注意仔细使用术语"记忆对象"而不是"文档对象"。例如,如果创建了两个引用文档中相同段落的对象,则它们将具有两个不同的地址。
<docx.text.paragraph.Paragraph object at 0x04299FD0>
可以使用Python中的id()
函数访问这些值。 https://docs.python.org/2/library/functions.html#id