我是Python初学者。我正在尝试采用一个request.get的结果,并将值传递给另一个。本质上(第一个response.get)提供了客户ID号-然后我试图获取这些客户ID编号并获得客户评分(来自第二个response.get)
我让第一部分工作了,它正在按预期返回结果。 我只是不确定如何将值传递到第二部分。
p = (('Location', 'CA'), ('NumRows', '5'))
prepare_link = requests.get('https://api.linktomyapi?', auth=BearerAuth('AMB7i7F63t13s58yN9kLtLNBjo607Di7'), params=p)
test = requests.get(prepare_link.url, auth=BearerAuth('AMB7i7F63t13s58yN9kLtLNBjo607Di7'), params=p)
data = json.loads(test.text)
for customer in data['Data']:
BusinessID = customer['Id']
print(BusinessID)
这为我提供了
的输出5316636
14210
6509
1305
13249780
我现在正在尝试获取此输出并将值传递到我要输出的另一个get中,如下所示
客户ID(从上面)-客户得分(从第二次获得)
p2 = ()
prepare_link2 = requests.get('https://api.linktomyapicustmerscore?', auth=BearerAuth('AMB7i7F63t13s58yN9kLtLNBjo607Di7'), params=p2)
我如何设置循环以将显示的所有5行的Customer ID值(从第一个获取)传递到p2中?
我确实尝试使用来存储首次进入数组的结果
CustomerIdList = []
for customer in data['Data']:
#print(customer['Id'])
BusinessID = customer['Id']
CustomerIdList.append(str(customer['Id']))
print (CustomerIdList)
为我提供了此输出
['5316636', '14210', '6509', '1305', '13249780']
我只是不知道如何使用它来创建第二次获取的循环。
答案 0 :(得分:1)
您可以遍历CustomerIdList列表。下面的示例:
CustomerIdList=['5316636', '14210', '6509', '1305', '13249780']
for i in CustomerIdList:
print ("requests.get('https://api.linktomyapicustmerscore?', auth=BearerAuth('AMB7i7F63t13s58yN9kLtLNBjo607Di7'), params="+i+")")
答案 1 :(得分:1)
您可以在循环中初始化列表和append
>
data = json.loads(test.text) #imported from json library
i=0
mlis=[]
for customer in data:
if customer == 'Data':
BusinessID = data[customer]
for customer in BusinessID:
mlis.append(BusinessID[i]['Id'])
i+=1
print(mlis)