python将json数据存入MySQL中

一、
准备工作:安装MySQL;安装数据库操作工具,我使用的是MySQL-Front;已经爬取好了的json文件,之前有写过,这里直接拿来用。

二、

import json
import pymysql

def prem(db):
    cursor = db.cursor()
    cursor.execute("SELECT VERSION()")
    data = cursor.fetchone()
    print("Database version : %s " % data)  # 结果表明已经连接成功
    cursor.execute("DROP TABLE IF EXISTS jsondb")  
    sql = """create table jsondb(
    name varchar(100) not null, 
    releasetime varchar(255) not null,
    actor varchar(255) not null,
    score varchar(255) not null)"""
    cursor.execute(sql)  


def reviewdata_insert(db):

    with open('D:\python work\movie.json', encoding='utf-8') as f:
        i = 0
        while True:
            i += 1
            print(u'正在载入第%s行......' % i)
            try:
                lines = f.readline()  # 使用逐行读取的方法
                review_text = json.loads(lines)  # 解析每一行数据
                result = []
                result.append((review_text['name'], review_text['releasetime'], review_text['actor'], review_text['score']))
                print(result)

                inesrt_re = "insert into jsondb(name, releasetime, actor, score) values(%s,%s,%s,%s)"
                cursor = db.cursor()
                cursor.executemany(inesrt_re, result)
                db.commit()
            except Exception as e:
                db.rollback()
                print(str(e))
                break


if __name__ == "__main__":  # 起到一个初始化或者调用函数的作用
#root是用户名,123456是MySQL的密码,json是使用的数据库名称
    db = pymysql.connect("localhost", "root", "123456", "json", charset='utf8')
    cursor = db.cursor()
    prem(db)
    reviewdata_insert(db)
    cursor.close()

最终在MySQL-Front中显示的结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值