【发布时间】:2015-05-19 03:49:28
【问题描述】:
使用 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 可以使用的东西中,然后将特定数据插入数据库;然后我如何将数据从保存下载数据的对象插入数据库。我猜循环是答案的一部分......但是从什么开始?提前致谢!
【问题讨论】:
标签: python json sqlite python-3.x