[python]用python解析json检查标注数据

我的标注类别就两类,一个大车和小车,而且一张图上就一个大车和7个小车. json格式如下:

{"objects":[{"label":"smallCar","rect":[110.0,356.0,86,15]},{"label":"smallCar","rect":[112.0,310.5,86,19]},{"label":"smallCar","rect":[110.5,267.5,47,20]},{"label":"smallCar","rect":[111.0,227.5,153,15]},{"label":"smallCar","rect":[111.0,183.5,94,18]},{"label":"smallCar","rect":[111.0,141.0,63,19]},{"label":"smallCar","rect":[109.0,98.0,79,19]},{"label":"bigCar","rect":[12.5,54.0,78,361]}],"rotate":0}

我仔细一看,其实就是字典、列表的组合,最外层是字典,两个objects和rotate,obiects对应一个列表,其中列表里面的元素都是字典.

检查的代码如下:

import  json
import os 
rootdir = '/media/d_2/2018biaozhushuju/20180823shenzhendianzibaodan/new_new/selete/json'
list = os.listdir(rootdir)
for val in list:
    path = os.path.join(rootdir,val)
    filer = open(path)
    MyJson = json.load(filer)
    L = MyJson['objects']
    num_small = 0
    num_big = 0
    b_remove = False
    for val in L:
        if 'smallCar' == val['label']:
            num_small += 1
        elif 'bigCar' == val['label']:
            num_big += 1
        else :
            b_remove = True
    if(7 != num_small or 1 !=num_big or True == b_remove):
        print path

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值