一、
准备工作:安装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中显示的结果: