我已经意识到在语料库XML文件中,许多句子都缺少句子ID ,这对于浏览它们非常重要。我现在想迭代所有<sentence/>
代码并添加一个枚举值的属性,例如:<sentence id="1">
和下一个<sentence id="2">
等等。
在BeautifulSoup中,可以添加属性:soup.find('sentence')['id'] = '1'
返回树中的<sentence id="1">
。
现在,我该怎样连续增加这个数字? (对Elementtree的建议也非常欢迎)
答案 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)。