zeno-winoground / json_to_csv.py
Simran Khanuja
adding files to convert json to csv
100df4d
raw
history blame
No virus
1.55 kB
import json
import csv
# Read JSON data
with open('/Users/simrankhanuja/Desktop/zeno-winoground/dataTagsSep4.json', 'r') as json_file:
data = json.load(json_file)
# Process and write to CSV
with open('output.csv', 'w', newline='') as csv_file:
writer = csv.writer(csv_file)
# Write header
header = ["id", "image", "caption",
"Old Tags: id", "Old Tags: tag", "Old Tags: secondary tag",
"Old Tags: num_main_preds", "Old Tags: collapsed tag",
"Our Tags: Attribute", "Our Tags: Relation", "Our Tags: Reasoning", "Why is WG hard"]
writer.writerow(header)
for entry in data:
for idx in range(2): # As there are two images/captions per entry
row = []
row.append(f"{entry['id']}_{idx}")
row.append(entry[f'image_{idx}'])
row.append(entry[f'caption_{idx}'])
old_tags = entry["Old Tags"]
row.extend([old_tags['id'],
old_tags['tag'],
old_tags['secondary_tag'],
old_tags['num_main_preds'],
old_tags['collapsed_tag']])
our_tags = entry["Our Tags"]
attribute = our_tags.get('Attribute', [])
relation = our_tags.get('Relation', [])
reasoning = our_tags.get('Reasoning', [])
row.extend([attribute, relation, reasoning])
row.append(entry["Why is WG hard"])
writer.writerow(row)