python解析json文件信息到csv中


json格式多種多樣,本代碼着重看函數部分

import json, csv, os
import pandas as pd
josns_root = 'jsons'
csvs_root = 'csvs'
list_josn = os.listdir(josns_root)
for bb in list_josn:
    path_json_ = bb #請修改json路徑
    path_json = os.path.join(josns_root, path_json_)
    path_csv_ = path_json_.split('.')[0]+'.csv'
    path_csv = os.path.join(csvs_root, path_csv_)
    if os.path.exists(path_csv):
        print('路徑已存在,請解決沖突', path_csv)
        exit()
    open(path_csv, 'w').close()
    list_ = [200,50,51]
    f = open(path_json, encoding='utf-8') # 載入json文件
    setting = json.load(f)
    data = setting['data']
    data1 = data['imgs']
    print(type(data1))
    headers = ['fov_id', 'cells_fit', 'cells_P', 'cells_N']
    with open(path_csv, 'a')as csvfile:
         writer = csv.writer(csvfile)
         writer.writerow(headers) # 寫每列標題
         csvfile.close()
    cnt = 1
    for i in data1:
        print('當前FOV編號:',cnt)
        cnt = cnt + 1
        i_dict = dict(i)
        FOV_id = i_dict['id']
        cells = i_dict['cells']
        type_la = []
        total_la = []
        for m in cells:
            m_dict = dict(m)
            type_ = m_dict['type']
            total = m_dict['total']
            #print(type_, total)
            type_la.append(type_)
            total_la.append(total)
        out_ = dict(zip(type_la,total_la))
        str1 = [None,None,None]
        cnt_ = 0
        cnt__ = 0
        for lala in list_:
            if len(list(out_.keys())) == 0:
                continue
            if lala in list(out_.keys()):
                str1[cnt_] = list(out_.values())[cnt__]
                cnt__ = cnt__ + 1
            cnt_ = cnt_ + 1
        rows = [str(FOV_id), str1[0], str1[2], str1[1]]
        with open(path_csv, 'a')as csvfile:
            writers = csv.writer(csvfile, delimiter=',')
            writers.writerow(rows) # 按行寫入csv
            csvfile.close()
    print('==============task OK!================')

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM