python调用api接口并且将数据存入数据库_在SQL Server 2017中使用python调用API并存储d...

钱志
2023-12-01

我一直在用Python开发我的技能集来调用RestAPIs、返回/解析json并存储结果。最终,我的最终目标是构建程序,将我们的数据引入数据仓库。在

我已经能够调用api并将数据存储到CSV中,我可以打开数据库连接并运行SQL语句并打印结果,但这是我的权宜之计。在

既然SQL Server 2017能够在SSMS中运行python脚本并创建存储过程,我希望能够弥补SQL中的差距,并使用python调用API,返回数据,然后使用SQL验证并将数据附加到正确的表中。在

我在sqlserver中看到的Python脚本示例仅用于分析sqlserver中已有的数据,而不是存储在SQL中的数据。在

这就是我目前所拥有的。在

我需要什么Python包,以及如何将SQL语句/SQL变量插入Python脚本以使用?在--Python Version

execute sp_execute_external_script

@language = N'Python',

@script = N'

import sys

import codecs

import requests

import json

locations = select top(10) locationId from TestDb.locationstable

for j in range(locations):

url = "http://example.com/api/location/" + locations[j]+ "/users"

querystring = {"pretty":"1"}

headers = {"Api-Key": ""}

r = requests.request("GET", url, headers=headers, params=querystring)

d = r.json()

status = d["status"]

responseData = d["data"]["Users"]

print(status)

print(responseData)

python部分在sqlserver中工作,我将for循环输出并将一个位置硬编码到脚本中,但不确定如何从select语句中获取引用数据列表的locations变量,以便在python脚本中工作。在

然后,如果返回的响应数据如下所示,我将如何处理它:

^{pr2}$

 类似资料: