【发布时间】:2019-08-11 00:25:40
【问题描述】:
我正在尝试将来自 Web API 的数据插入到我的数据库中(我在 python 3.7.2 上使用 sqlite3),但我找不到任何有关如何操作的教程。到目前为止,我所有的代码都是:
import requests, sqlite3
database = sqlite3.connect("ProjectDatabase.db")
cur = database.cursor()
d = requests.get("http://ergast.com/api/f1/2019/drivers")
我的目标是获取每个驱动程序的名称和驱动程序编号,并将它们全部插入一个名为 Drivers 的表中。 (我也在使用更多的 API 和更多的表,但如果我知道如何做一个,那么剩下的应该没问题。)我假设我必须做类似的事情
cur.execute('''INSERT INTO Drivers VALUES(?,?), (driverName, driverNumber)
''')
但我正在努力弄清楚如何将数据从网站直接插入到表格中。有谁知道如何做到这一点?谢谢
【问题讨论】:
-
是否需要解析 XML 输出?此特定 API 支持 JSON 响应。
-
尝试只从网站上获取名称,而不先将它们放入数据库中。
-
你猜对了。正常的方式有 3 个步骤:1/ 获取数据 2/ 解析数据 3/ 将相关部分插入数据库。
-
我不太明白你在哪里难以诚实。基本上是这样的:
request -> parse -> insert你在什么时候挣扎? -
@LukaszSalitra 我不知道,我使用了“requests.get()”,这就是它自动给我的。如果需要 JSON,那很好,我只需要弄清楚如何获取 JSON 响应而不是 XML。
标签: python-3.x sqlite python-requests sql-insert