首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【python 3.6】python读取json数据存入MySQL(一)

【python 3.6】python读取json数据存入MySQL(一)

作者头像
一枚hammer
发布2021-01-28 20:31:29
发布2021-01-28 20:31:29
6.2K0
举报
文章被收录于专栏:云技术分享云技术分享

整体思路:

1,读取json文件

2,将数据格式化为dict,取出key,创建数据库表头

3,取出dict的value,组装成sql语句,循环执行

4,执行SQL语句

代码语言:javascript
复制
#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()

执行后效果

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-08-14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档