我在想要使用一个公开数据集时,发现需要修改数据集中的标注文件xml中的类别信息,最终根据其他博主的方法,修改成功!
代码如下,要修改的地方见注释:
import glob
import xml.etree.ElementTree as ET
path = r'C:/Users/Desktop/Annotations' # 这里修改成自己的xml文件夹路径
i = 0
for xml_file in glob.glob(path + '/*.xml'):
# print(xml_file)
tree = ET.parse(xml_file)
obj_list = tree.getroot().findall('object')
for per_obj in obj_list:
if per_obj[0].text != 'car':
per_obj[0].text = 'car' # 将所有name不是car的类别全部修改为car
i = i+1
#将个别的标签名修改的方法
# for per_obj in obj_list:
# if per_obj[0].text == '1': # 要修改的标签“1”
# per_obj[0].text = '2' # 修改成“2”
# i = i+1
tree.write(xml_file) # 将改好的文件重新写入,会覆盖原文件
print('共完成了{}处替换'.format(i))
参考博主:https://blog.csdn.net/SYGgogogo/article/details/121867089