69 lines
2.4 KiB
Python
69 lines
2.4 KiB
Python
import json
|
||
import os
|
||
|
||
import pymysql
|
||
|
||
base_props = {
|
||
'internal_code': '内部编号',
|
||
'page_name': '标题',
|
||
'unit_name': '单位名称',
|
||
'region': '国家/地区',
|
||
'name_abbr': '名称缩写',
|
||
'nickname': '绰号',
|
||
'other_names': '其他名称',
|
||
'status': '状态',
|
||
'uic': '单位识别码(UIC)',
|
||
'base_address': '驻地',
|
||
'type_or_dept': '军种/部门',
|
||
'description': '说明',
|
||
'update_time': '更新日期',
|
||
'address': '地址',
|
||
'phone': '电话',
|
||
'twitter': 'Twitter',
|
||
'facebook': 'Facebook',
|
||
'linkedin': 'LinkedIn',
|
||
'email': '邮箱',
|
||
'website': '网址',
|
||
'other_contact_info': '其他联系方式',
|
||
}
|
||
extended_props = {
|
||
'leader_info': '领导信息',
|
||
'website_info': '网页资料',
|
||
}
|
||
|
||
result_file_path = r"E:\yuxin\nuofang-data\structure\result0512"
|
||
|
||
if __name__ == '__main__':
|
||
db = pymysql.connect(host='39.101.194.63', port=23306,
|
||
user='root', passwd='passok123A', db='nfm', charset='utf8mb4')
|
||
cursor = db.cursor()
|
||
l_item = {}
|
||
for single_json_file in os.listdir(result_file_path):
|
||
result_file = open(result_file_path + "\\" + single_json_file, "r", encoding='utf-8')
|
||
result_json = json.loads(result_file.read())
|
||
result_file.close()
|
||
|
||
t_item_content = {}
|
||
base_info = result_json['base_info']
|
||
if 'contact_info' in result_json:
|
||
for _ in result_json['contact_info']:
|
||
base_info[_] = result_json['contact_info'][_]
|
||
if 'leader_info' in result_json:
|
||
t_item_content['leader_info'] = json.dumps(result_json['leader_info'], ensure_ascii=False)
|
||
if 'website_info' in result_json:
|
||
t_item_content['website_info'] = json.dumps(result_json['website_info'], ensure_ascii=False)
|
||
|
||
for _ in base_props:
|
||
val = base_props[_]
|
||
if val in base_info:
|
||
t_item_content[_] = base_info[val]
|
||
t_item_content['page_name'] = "".join(single_json_file.replace(".json", "").split("-")[1:])
|
||
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 m_struct_page (%s) VALUES (%s)' % (cols, vals)
|
||
cursor.execute(sql_insert)
|
||
db.commit()
|
||
db.close()
|