@ml2021 ml2021 / csv2json.py
Created at Sun Jul 04 11:36:57 JST 2021
csvファイルからJSONへ変換。リポジトリにもあるけど、こちらにも置いておきます
csv2json.py
Raw
import csv
import sys

def csv2json(row):
    output = f'''{{"image": "{row[0]}",
    "annotations": [{{"label": "{row[2]}", 
      "coordinates": {{"x": {float(row[3]) + (float(row[4]) - float(row[3]))/2}, "y": {float(row[5]) + (float(row[6]) - float(row[5]))/2}, "width": {float(row[4]) - float(row[3])}, "height": {float(row[6]) - float(row[5])}}}
}}]}},'''
    print(output)

csv_file = open(sys.argv[1], 'r', encoding='utf-8')
f = csv.reader(csv_file, delimiter=',')
header = next(f)

for row in f:
    #print(row[1])
    csv2json(row)
test.csv
Raw
image,id,name,xMin,xMax,yMin,yMax
beaker/scene_00001.jpg,1,beaker,514,1333,251,903
funnel/scene_00046.jpg,1,funnel,336,1540,293,1067
funnel/scene_00246.jpg,1,funnel,257,1577,199,1076
funnel/scene_00096.jpg,1,funnel,299,1505,6,758
funnel/scene_00121.jpg,1,funnel,309,1513,6,669
funnel/scene_00146.jpg,1,funnel,178,1426,37,828
funnel/scene_00221.jpg,1,funnel,316,1611,224,1080
funnel/scene_00021.jpg,1,funnel,353,1351,210,843