osc/research/cmip6/parser/json_parser_20240318.py
2025-05-28 19:16:17 +08:00

30 lines
1.2 KiB
Python

import json
import os
response_root_path = r'E:\yuxin\cmip20240424'
var_ids = ['tas']
skip_path = []
if __name__ == "__main__":
for var_id in var_ids:
var_path = os.path.join(response_root_path, var_id)
source_ids = os.listdir(var_path)
for source_id in source_ids:
# if source_id in skip_path:
# continue
source_path = os.path.join(var_path, source_id)
rsp_file_names = os.listdir(source_path)
for rsp_file_name in rsp_file_names:
rsp_file = open(os.path.join(source_path, rsp_file_name), 'r', encoding='utf-8')
rsp_body = json.loads(rsp_file.read())
rsp_file.close()
docs = rsp_body['response']['docs']
csv_file = open(os.path.join(response_root_path, 'dl_url.csv'), 'a', encoding='utf-8')
for doc in docs:
try:
csv_file.write(
f"{doc['data_node']},{doc['variable_id'][0]},{doc['source_id'][0]},{doc['size']},{doc['instance_id']},{doc['url'][0]}\n")
except Exception as e:
print(repr(e))
csv_file.close()