osc/research/nuofang-db/us-base/us-base-parser.py
2025-05-28 19:16:17 +08:00

53 lines
1.9 KiB
Python

import json
import pymysql
json_rsp_file_path = "/root/rsp.json"
if __name__ == "__main__":
json_rsp_file = open(json_rsp_file_path, 'r', encoding='utf-8')
json_rsp_file_content = json_rsp_file.read()
json_rsp_file.close()
rsp_body = json.loads(json_rsp_file_content)
records = rsp_body['records']
db = pymysql.connect(host='39.101.194.63', port=23306,
user='root', passwd='passok123A', db='nfm', charset='utf8mb4')
cursor = db.cursor()
count = 0
for record in records:
count += 1
fields = record['fields']
item = {
'id': count,
'site_name': fields['site_name'],
'latitude': fields['geo_point_2d'][0],
'longitude': fields['geo_point_2d'][1],
'joint_base': fields['joint_base'],
'country': fields['country'],
'component': fields['component'],
'oper_stat': fields['oper_stat'],
'state_terr': fields['state_terr'],
'area': fields['area'],
'perimeter': fields['perimeter'],
'geo_point_2d': json.dumps(fields['geo_point_2d'], ensure_ascii=False),
'geo_shape': json.dumps(fields['geo_shape'], ensure_ascii=False),
'geometry': json.dumps(record['geometry'], ensure_ascii=False),
'datasetid': record['datasetid'],
'recordid': record['recordid'],
'record_timestamp': record['record_timestamp'][:-6].replace("T", " ")
}
cols = []
vals = []
for k in item:
v = item[k]
cols.append(k)
if type(v) == str:
vals.append("'{}'".format(v))
else:
vals.append("{}".format(v))
SQL_INSERT = "INSERT INTO nfm.us_base_info ({}) VALUES ({})".format(", ".join(cols), ", ".join(vals))
print("[No. {}]".format(count))
cursor.execute(SQL_INSERT)
db.commit()
db.close()