首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python :提取两个给定字符串之间的表

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

Stack Overflow用户
提问于 2015-07-02 16:05:47
回答 1查看 2.7K关注 0票数 3

我正在试图提取一个特定的表列表,这些表位于word文档中的两段文本之间。为此,我使用python docx,我面临的问题是文本可以通过使用

代码语言:javascript
运行
复制
document.paragraphs[index].text

而表则通过使用

代码语言:javascript
运行
复制
document.tables[index].cell[row,col]

这分离了文本和表,使得在两段文本之间只包含表列表变得更加困难。我尝试的方法是使用下面表格中每个列表的元素来获取段落/表的地址。

代码语言:javascript
运行
复制
<docx.text.paragraph.Paragraph object at 0x04299FD0>

然后,我将提取每个表的地址,并检查它是否在开始和结束文本的地址之间。但是,问题是所有的表地址都比文本的起始地址和结束地址大,而且我找不到任何关于python如何找到这些地址的文档,因为我假设这个地址是通过文档逐步顺序的。这种方法能起作用吗?我还能用什么其他方法来查看word文档中两段文本之间的表呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-02 20:51:35

这里描述的这个限制有一个解决办法:https://github.com/python-openxml/python-docx/issues/40

您将希望向下滚动到最后,并可能以反向顺序和常规方式阅读;根据对最近版本的python-docx内嵌的更改,对过程进行了一些调整。

以下对象的地址引用内存位置,与python文档中段落或其他内容的顺序没有定义关系。它们可以作为该Python内存对象的唯一标识符,但仅此而已。注意仔细使用“内存对象”一词,而不是“文档对象”。例如,如果创建了两个同时引用文档中相同段落的对象,那么它们将有两个不同的地址。

代码语言:javascript
运行
复制
<docx.text.paragraph.Paragraph object at 0x04299FD0>

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31189517

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档