BTSRB德国交通标志数据集.csv文件提取数据转换成.json文件
BTSRB德国交通标志数据集.csv文件提取数据转换成.json文件
- 一、转换json
- 二、如何使用
一、转换json
读取文件夹中的
.csv
文件并将文件中信息整合成.json
文件。
import os
import pandas as pd
import json# 原始CSV文件所在的目录
csv_dir = 'GTSRB/Final_Training/Images' # 替换为实际路径# 用于存储所有数据的列表
data_list = []# 遍历每个类别文件夹
for class_folder in os.listdir(csv_dir):class_path = os.path.join(csv_dir, class_folder)if os.path.isdir(class_path):# CSV文件路径csv_file = os.path.join(class_path, f'GT-{class_folder.zfill(5)}.csv')# 读取CSV文件df = pd.read_csv(csv_file, sep=';')# 将数据转换为字典列表data = df.to_dict(orient='records')# 添加类别信息到每个数据项for item in data:item['class'] = int(class_folder)data_list.extend(data)# 将数据列表转换为JSON格式并保存
json_data = json.dumps(data_list, indent=4)
with open('gtsrb_annotations.json', 'w') as json_file:json_file.write(json_data)
二、如何使用
import json# 读取JSON文件
with open('gtsrb_annotations.json', 'r') as json_file:data = json.load(json_file)# 现在可以使用 'data' 变量进行后续操作,例如获取图像路径、标注信息等
for item in data:image_path = item['Filename']label = item['class']# 在这里可以进行更多处理,如加载图像、进行数据增强等# ...