在数据集标注中,将检测物体命名为a,标注完后觉得a不合适,又想将标签文件中的目标a改成b,使用python解析XML文件后批量修改。
# coding: utf-8
'''
通过解析xml文件,批量修改xml文件里的标签名称,比如把标签zero改成num
'''
import os.path
import glob
import xml.etree.ElementTree as ET
#import xml.dom.minidom
path = r'D:/picture/指针仪表拍图/表盘标签/Annotations/'
for xml_file in glob.glob(path + '/*.xml'):
# 返回解析树
tree = ET.parse(xml_file)
# 获取根节点
root = tree.getroot()
#print(root)
# 根据标签名查找root下的所有标签,并获取其值
# print(imgname)
# 对所有目标进行解析
# dom = xml.dom.minidom.parse(os.path.join(path, xml_file))
for member in root.findall('object'):
objectname = member.find('name').text
if objectname != 'hello':
print(objectname)
member.find('name').text = str('meter')
#objectname = 'num'
#with open(xml_file, 'w') as fh:
tree.write(xml_file)
#os.path.join(path, xml_file)