(我正在使用 OpenXML SDK 与 IronPython 中的 WordprocessingDocument 对象交互工作,但这确实是一个通用的 Python 问题,应该适用于所有实现)
我正在尝试从一些 Word 文档中刮出一些表格。对于每个表,我都有一个迭代器,它为我提供表行对象。然后,我使用以下生成器语句从每一行获取一个单元格元组:
for row in rows:
t = tuple([c.InnerText for c in row.Descendants[TableCell]()])
每个元组包含 4 个元素。现在,在t[1]
每个元组的列中,我需要对数据应用正则表达式。我知道元组是不可变的,所以我很高兴要么创建一个新元组,要么以不同的方式构建元组。鉴于row.Descendants[TableCell]()
返回一个迭代器,从我想要修改n
返回的第 th 个元素的迭代器构造元组的最 Pythonic(或至少最简单)的方法是什么?
我现在的蛮力方法是从左切片 ( t[:n-1]
)、修改后的数据t[n]
和右切片 ( t[n+1:]
) 创建一个元组,但我觉得itertools
模块应该有一些东西可以帮助我。