53 lines
1.9 KiB
Python
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()
|