如何在python中修改和枚举XML标记

时间:2018-04-19 11:32:21

标签: python xml beautifulsoup elementtree

我已经意识到在语料库XML文件中,许多句子都缺少句子ID ,这对于浏览它们非常重要。我现在想迭代所有<sentence/>代码并添加一个枚举值的属性,例如:<sentence id="1">和下一个<sentence id="2">等等。

在BeautifulSoup中,可以添加属性:soup.find('sentence')['id'] = '1' 返回树中的<sentence id="1">

现在,我该怎样连续增加这个数字? (对Elementtree的建议也非常欢迎)

1 个答案:

答案 0 :(得分:3)

enumerate的结果使用find_all,如下所示:

items = soup.find_all('sentence')
for index,items in enumerate(items):
    items['id'] = str(index)

默认情况下,enumerate开始使用0建立索引。正如Keyur Potdat所指出的,您可以使用enumerate(items,1)将第一个id设置为1,或任何其他起始值(另请参阅https://docs.python.org/3.6/library/functions.html#enumerate)。