1、思路一dataframe入库
import pandas as pd
import numpy as np
data=pd.read_json('test.json',orient='values',encoding='utf-8')
for indexs in data.index:
print(data.loc[indexs].values[0:-1])
#拼sql insert into cname(buss_no,recname,sendname)values(%d,'%s',%s)"
2、思路二纯文件解析入库
1、逐行读取json文件
for line in open(path):
sline= dict(json.load(line))
2、对数据进行解析
假设sline格式为{’buss_no’:123,’recname’:’john’,’sendname’:’john’},则可通过sline[‘buss_no’]和sline[‘recname’]分别获取buss_no和recname字段。
3、数据入库
conn = ****.connect("*****")
print 'Opened database successfully'
#创建CNAME表
conn.execute('''CREATE TABLE CNAME
(buss_no INT PRIMARY KEY NOT NULL,
recname TEXT NOT NULL,
sendname TEXT NOT NULL);''')
print 'Table created successfully'
#向表中插入记录
#注意sql语句中使用了格式化输出的占位符%s和%d来表示将要插入的变量,其中%s需要加引号''
sql = "insert into cname(buss_no,recname,sendname)values(%d,'%s',%s)" % (sline['buss_no'],sline['recname'],sline['sendname'])
con.execute(sql)
conn.commit()
#关闭数据库连接
conn.close()