整體思路:
1,讀取json文件
2,將數據格式化為dict,取出key,創建數據庫表頭
3,取出dict的value,組裝成sql語句,循環執行
4,執行SQL語句
#python 3.6 # -*- coding:utf-8 -*- __author__ = 'BH8ANK' import json import pymysql conn = pymysql.connect( host = 'localhost',#mysql服務器地址 port = 3306,#端口號 user = 'root',#用戶名 passwd = 'xxxxxx',#密碼 db = 'xdb',#數據庫名稱 charset = 'utf8',#連接編碼,根據需要填寫 ) cur = conn.cursor()#創建並返回游標 #創建表頭 sql = "CREATE TABLE daxue (code VARCHAR(32),charge VARCHAR(100),level VARCHAR(100),name VARCHAR(100),remark VARCHAR(100),prov VARCHAR(100));" cur.execute(sql)#執行上述sql命令 a = open(r"D:\alldata.json", "r",encoding='UTF-8') out = a.read() tmp = json.dumps(out) tmp = json.loads(out) num = len(tmp) i = 0 while i < num: code = tmp[i]['code'] charge = tmp[i]['charge'] level = tmp[i]['level'] name = tmp[i]['name'] remark = tmp[i]['remark'] prov = tmp[i]['prov'] value = [code,charge,level,name,remark,prov] sql_insert = "insert into daxue (code,charge,level,name,remark,prov) values (" + "'"+code+"'" +","+ "'"+charge+"'" + ","+"'"+level+"'" + ","+"'"+name+"'" + ","+"'"+remark+"'" + ","+"'"+prov+"'" + ");" # sql_insert =("insert into daxue (code,charge,level,name,remark,prov) values (%s,%s,%s,%s,%s,%s);",value) # sql_insert = sql_insert.encode("utf8") print(sql_insert) cur.execute(sql_insert) # 執行上述sql命令 i = i+1 # print(num) conn.commit() conn.close()
執行后效果