把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() #大功告成
最终效果如上
人生苦短,何不用python