我有一个很简单的问题。我试图从一个在线源获取一个JSON,并将其存储在SQLite表中。除了将数据存储在一个富表中,对应于JSON中的许多字段之外,我还想在每次提取JSON时将整个JSON转储到一个表中。在
表看起来像:
CREATE TABLE Raw_JSONs (ID INTEGER PRIMARY KEY ASC, T DATE DEFAULT (datetime('now','localtime')), JSON text);
我使用以下python代码从某个URL中提取了一个JSON:
^{pr2}$现在,我想执行以下INSERT命令:
import sqlite3
db = sqlite3.connect('a.db')
c = db.cursor()
c.execute("insert into Raw_JSONs values(NULL,DATETIME('now'),?)", y)
但我被告知我提供了错误的数字绑定(即数千,而不是1)。我想它是把y变量作为JSON的所有不同元素来读取的。在
有人能帮我存储完整的JSON吗?在
另外,由于我对这个JSON游戏还不熟悉,任何可以推荐的在线资源都会非常棒。在
谢谢!在
您还可能有兴趣了解内置的sqlite模块适配器。这两种方法都可以将任何python对象转换为sqlite列。请参阅标准documentation和适配器部分。在
.execute()
需要一个序列,最好给它一个单元素元组:Python字符串也是一个序列,是单个字符之一。因此,
.execute()
调用试图将每个单独的字符作为查询的参数,除非字符串短一个字符,否则它将无法提供正确数量的参数。在别忘了提交你的插页:
^{pr2}$或将数据库连接用作上下文管理器:
相关问题 更多 >
编程相关推荐