python 将json文件处理成csv文件(亲测有效)

时间: 2023-07-29 admin 互联网

python 将json文件处理成csv文件(亲测有效)

python 将json文件处理成csv文件(亲测有效)

其实最重要的还是要知道自己的json文件到底是一个什么格式的

就拿我这个举例子:

所以从数组的角度来说,他应该是
json_data[triplet][0][subject]
json_data[triplet][0][relation]
json_data[triplet][0][obejct]
json_data[triplet][0][caption]

比如这个

我需要 annotations中的caption,那我就可以这样指定
json_data[annotations][1][caption]

而从json文件到csv文件,我就直接选择用暴力方式读取,虽然是暴力方式,但其实耗时并不长

if __name__ == '__main__':
    json_file="triplets.json"
    with open(json_file,'r') as json_obj:
        json_data=json.load(json_obj)
    f = open('json2csvNew.csv', 'w', encoding='utf-8',newline='')
    csv_writer=csv.writer(f);
    csv_writer.writerow(["subject","relation","obejct","caption"])
    print(type(json_data))
    print(json_data.keys())
    print(type(json_data['triplet'][0]))
    #这里循环写入好了
    for i in range(298570):
        csv_writer.writerow([json_data['triplet'][i]['subject'],json_data['triplet'][i]['relation'],json_data['triplet'][i]['object'],json_data['triplet'][i]['caption']])
    f.close()
    print("ok")

生成结果如下: