如何修改和枚举python中的XML标签
How to modify and enumerate XML tags in python
我意识到在语料库 XML 文件中,许多句子都缺少 句子 ID ,这对于浏览它们很重要。我现在想遍历所有 <sentence/>
标记并添加一个具有枚举值的属性,例如:<sentence id="1">
,以及下一个 <sentence id="2">
等等。
在BeautifulSoup中可以添加属性:soup.find('sentence')['id'] = '1'
returns <sentence id="1">
在树中。
现在,我怎样才能连续增加这个数字? (也非常欢迎Elementtree的建议)
对find_all
的结果使用enumerate
,像这样:
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)。
我意识到在语料库 XML 文件中,许多句子都缺少 句子 ID ,这对于浏览它们很重要。我现在想遍历所有 <sentence/>
标记并添加一个具有枚举值的属性,例如:<sentence id="1">
,以及下一个 <sentence id="2">
等等。
在BeautifulSoup中可以添加属性:soup.find('sentence')['id'] = '1'
returns <sentence id="1">
在树中。
现在,我怎样才能连续增加这个数字? (也非常欢迎Elementtree的建议)
对find_all
的结果使用enumerate
,像这样:
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)。