把CSV文件中的labels标签提取为json文件

需求:

  validationImages.csv文件是存储验证集数据名称和类别信息(labels)的文件,

 

 要生成一个label和类别名一一对应且正序排列的json文件,代码如下:

labels_dict = {}
with open(os.path.join(os.getcwd(), 'validationImages.csv')) as f:
    reader = csv.reader(f)
    for row in reader:
        if row[0].split(os.sep)[-2][4:] not in labels_dict.items():
            labels_dict[int(row[1])] = row[0].split(os.sep)[-2][4:]

#以上代码先生成一个乱序且去重后的字典,接下来是对这个字典排序


lt = list(labels_dict.items())
lt.sort(key=lambda x:x[0],reverse=False)
lt_new = []
for item in lt:
    lt_new.append((str(item[0]),item[1]))
labels_dict = dict(lt_new)

#以上代码已经生成了所需的字典,下一步是写入json文件

import json
jsonData = json.dumps(labels_dict)
fileObject = open('fish_labels.json', 'w')
fileObject.write(jsonData)
fileObject.close()

#大功告成

最终效果如上

 

posted @ 2019-10-22 20:11  嶙羽  阅读(703)  评论(0编辑  收藏  举报