62 lines
2.4 KiB
Python
62 lines
2.4 KiB
Python
import json
|
||
import pymysql
|
||
|
||
base_props = {
|
||
"internal_id": '内部编号',
|
||
"base_name": '基地名称',
|
||
"name_abbr": '名称缩写',
|
||
"region": '国家/地区',
|
||
"category": '分类',
|
||
"status": '状态',
|
||
"other_names": '其他名称',
|
||
"dept": '部门',
|
||
"dept_trans": '部门(译)',
|
||
"military_type": '军种/部门',
|
||
"manage_code": '管理代码',
|
||
"alloc_region": '部署国家/地区',
|
||
"port_address": '邮政地址',
|
||
"remarks": '备注',
|
||
}
|
||
extended_props = {
|
||
'leader_info': '领导信息',
|
||
'website_info': '网页资料',
|
||
'faa_info': 'FAA信息',
|
||
'facility_info': '设施信息',
|
||
'unit_info': '入住单位'
|
||
}
|
||
|
||
if __name__ == '__main__':
|
||
result_file = open(r"E:\yuxin\nuofang-data\base\result0513.json", "r", encoding='utf-8')
|
||
result_json_array = json.loads(result_file.read())
|
||
result_file.close()
|
||
db = pymysql.connect(host='39.101.194.63', port=23306,
|
||
user='root', passwd='passok123A', db='nfm', charset='utf8mb4')
|
||
cursor = db.cursor()
|
||
|
||
for json_item in result_json_array:
|
||
t_item_content = {}
|
||
if 'leader_info' in json_item:
|
||
t_item_content['leader_info'] = json.dumps(json_item['leader_info'], ensure_ascii=False)
|
||
if 'website_info' in json_item:
|
||
t_item_content['website_info'] = json.dumps(json_item['website_info'], ensure_ascii=False)
|
||
if 'faa_info' in json_item:
|
||
t_item_content['faa_info'] = json.dumps(json_item['faa_info'], ensure_ascii=False)
|
||
if 'facility_info' in json_item:
|
||
t_item_content['facility_info'] = json.dumps(json_item['facility_info'], ensure_ascii=False)
|
||
if 'unit_info' in json_item:
|
||
t_item_content['unit_info'] = json.dumps(json_item['unit_info'], ensure_ascii=False)
|
||
base_info = json_item['base_info']
|
||
for _ in base_props:
|
||
val = base_props[_]
|
||
if val in base_info:
|
||
t_item_content[_] = base_info[val]
|
||
t_item_content['page_name'] = json_item['file_name'].replace(".json", "")
|
||
col_list = [_ for _ in t_item_content]
|
||
val_list = ["'" + t_item_content[_].replace("'", "’") + "'" for _ in t_item_content]
|
||
cols = ", ".join(col_list)
|
||
vals = ", ".join(val_list)
|
||
sql_insert = 'INSERT INTO nfm.m_base_page (%s) VALUES (%s)' % (cols, vals)
|
||
cursor.execute(sql_insert)
|
||
db.commit()
|
||
db.close()
|