python统计xml标注的类名

     训练数据前要进行图片标注,labelimg标注后会生成xml文件,数据很多的话,手动统计标注的标签名太麻烦了,所以写了一个小程序,其实很简单,初次接触python记录下。

总体思路:定义一个list用来存放类名,打开存放所有xml文件的文件夹,然后遍历打开xml文件,找到<name>标签,获取标签对之间的数据,如果list中不存在则存入,最后打印list

具体代码:

#coding=utf-8
import  xml.dom.minidom
import os,sys

rootdir = 'D:\xmlfile'#存有xml的文件夹路径
list = os.listdir(rootdir) #列出文件夹下所有的目录与文件
## 空列表
classes_list = [] 
for i in range(0,len(list)):
   path = os.path.join(rootdir,list[i])
   if os.path.isfile(path):   
      #打开xml文档
      dom = xml.dom.minidom.parse(path)

      #得到文档元素对象
      root = dom.documentElement
      cc=dom.getElementsByTagName('name')
              
      for i in range(len(cc)):
         c1 = cc[i]
         #列表中不存在则存入列表
         if classes_list.count(c1.firstChild.data)==0:
            classes_list.append(c1.firstChild.data) 
         #print(c1.firstChild.data)
print(classes_list)
print(len(classes_list))

运行结果:

['sedan', 'van', 'SUV', 'truck', 'minibus', 'hatchback', 'tricycle', 'bus']
8

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值