30 lines
1.2 KiB
Python
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()
|