python对json插入数据_如何使用python 3将特定的json插入sqlite数据库

使用

python 3,我想下载作为

JSON返回的API数据,然后我想只将特定的(列或字段或其他?)插入到sqlite数据库中.所以,这就是我所拥有的以及我所遇到的问题:

使用python的请求模块:

##### import modules

import sqlite3

import requests

import json

headers = {

'Authorization' : 'ujbOsdlknfsodiflksdonosB4aA=',

'Accept' : 'application/json'

}

r = requests.get(

'https://api.lendingclub.com/api/investor/v1/accounts/94837758/detailednotes',

headers=headers

)

好的,第一个问题是如何将所请求的JSON数据转换为python可以使用的东西(字典?).就是它…

jason.loads(r.text)

然后我创建了我想要插入特定数据的表:

curs.execute('''CREATE TABLE data(

loanId INTEGER NOT NULL,

noteAmount REAL NOT NULL,

)''')

没问题……但是现在,即使JSON数据看起来像这样(尽管有数百条记录)……

{

"myNotes": [

{

"loanId":11111,

"noteId":22222,

"orderId":33333,

"purpose":"Debt consolidation",

"canBeTraded":true,

"creditTrend":"DOWN",

"loanAmount":10800,

"noteAmount":25,

"paymentsReceived":5.88,

"accruedInterest":12.1,

"principalPending":20.94,

},

{

"loanId":11111,

"noteId":22222,

"orderId":33333,

"purpose":"Credit card refinancing",

"canBeTraded":true,

"creditTrend":"UP",

"loanAmount":3000,

"noteAmount":25,

"paymentsReceived":7.65,

"accruedInterest":11.92,

"principalPending":19.76,

}]

}

我只想在sqlite数据库中插入2个数据点,“loanId”和“noteAmount”.我相信将数据插入数据库将看起来像这样(但知道这是不正确的):

curs.execute('INSERT INTO data (loanId, noteAmount) VALUES (?,?)', (loanID, noteAmount))

但我现在完全不知道如何做到这一点,所以我想我有两个主要问题;将下载的数据转换为python可用于将特定数据插入数据库的内容;然后我如何从保存下载数据的对象将数据插入数据库.我猜测循环是答案的一部分……但是从什么方面来看?提前致谢!

The sqlite3 module supports two kinds of placeholders: question marks

(qmark style) and named placeholders (named style).

请注意,您甚至可以使用executemany一次插入所有行.

所以在你的情况下:

curs.executemany('INSERT INTO data (loanId, noteAmount) '

'VALUES (:loanId,:noteAmount)', json.loads(...)['myNotes'])

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值