(我正在使用openxmlsdk在IronPython中交互地处理WordprocessingDocument对象,但这实际上是一个通用的python问题,应该适用于所有实现)
我正试图从一些Word文档中找出一些表格。对于每一张桌子, 我有一个迭代器给我表行对象。然后,我使用下面的生成器语句从每行获取一个单元格元组:
for row in rows:
t = tuple([c.InnerText for c in row.Descendants[TableCell]()])
每个元组包含4个元素。现在,在每个元组的第t[1]
列中,我需要对数据应用一个正则表达式。我知道元组是不可变的,所以我很乐意创建一个新的元组,或者以不同的方式构建元组。假定row.Descendants[TableCell]()
返回一个迭代器,那么从迭代器构造元组的最Pythonic(或至少最简单的)方法是什么?我想修改返回的第n
个元素?在
我现在的暴力方法是从左片(t[:n-1]
)、在t[n]
和右片(t[n+1:]
)中修改的数据创建一个元组,但是我觉得itertools
模块应该有一些东西可以帮助我。在
我会这样做:
它的工作原理如下:
^{pr2}$如果每个元组都包含4个元素,那么,坦白地说,我认为最好将它们分配给单个变量,对其进行操作,然后构建元组:
相关问题 更多 >
编程相关推荐