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 ***") # 习惯性
sql = """CREATE TABLE review (
** VARCHAR(100)"""
cursor.execute(sql) # 根据需要创建一个表格
def reviewdata_insert(db,dir_name,tablename,tup):
with open(dir_name,'r', encoding='utf-8') as f:
i = 0
while True:
i += 1
print(u'正在载入第%s行......' % i)
#try:
lines = f.readline()
if len(lines) > 0:
review_text = json.loads(lines)
else:
break
result = []
result.append(([review_text[i] for i in tup]))
print(result)
mid = ""
per = ""
for field in tup:
mid += field+","
per += "%s,"
print(mid[:-1])
print(per[:-1])
inesrt_re = "insert into {0}".format(tablename)+"("+mid[:-1]+") values (" + per[:-1] + ")"
print(inesrt_re)
cursor = db.cursor()
cursor.executemany(inesrt_re, result)
db.commit()
# except Exception as e:
# db.rollback()
# print(str(e))
# break
if __name__ == "__main__": # 起到一个初始化或者调用函数的作用
db = pymysql.connect("localhost", "root", "root", "sobot_db", charset='utf8')
cursor = db.cursor()
#prem(db)
tablename = "rpt_stafflogin_log"
json_name = 'test.json'
tup = ['logType', 'companyId', 'datetime', 'loginLogType','source','operation','staffId']
reviewdata_insert(db,json_name,tablename,tup)
cursor.close()
测试数据
{“logType”:2,“companyId”:“51198d62b6574403a0b7e85d72d31b78”,“datetime”:1557804551790,“loginLogType”:0,“source”:0,“operation”:2,“staffId”:“1ebcc059b3ca478aaecde4b5e9fca9df”}
{“logType”:2,“companyId”:“51198d62b6574403a0b7e85d72d31b78”,“datetime”:1557806744163,“loginLogType”:0,“source”:0,“operation”:0,“staffId”:“efef7570fa9b4021890d815144776a99”}
{“logType”:2,“companyId”:“51198d62b6574403a0b7e85d72d31b78”,“datetime”:1558767573813,“loginLogType”:0,“source”:0,“operation”:6,“staffId”:“73177bcddbf047f596bc9a6e6574abc4”}
{“logType”:2,“companyId”:“51198d62b6574403a0b7e85d72d31b78”,“datetime”:1559361115531,“loginLogType”:0,“source”:0,“operation”:0,“staffId”:“c107d24efccc4096ae0a37eba093bf9a”}