首页 > 解决方案 > Python - Dataframes 循环和执行 API 调用

问题描述

python的新手并尝试根据先前API的输出执行一系列API,在此过程中我遇到了以下问题。

我在数据框中有一些值,我想根据条件(全部大于或等于 1)遍历数据框,并从数据框中获取 id(满足条件)并执行 API URL

数据框

Index | id | all
0     | 1  | 1
1     | 2  | 0
2     | 3  | 5
3     | 4  | 2
4     | 5  | 0
5     | 6  | 0
6     | 7  | 3
7     | 8  | 4

代码

alert = '/alert'

for value in dataframe['all']:
    if value >= 1:
        for each in dataframe['id']:
            url1 = "https://mywebsite/new/"+str(each)+str(alert)
            response1 = requests.get(url=url1, headers=headers, params=querystring1).json()
            print(response1)
            print("New ID :" +str(each))
    else:
        print("No alerts id are :" +str(value))

问题是我得到了响应,但它没有通过条件,它显示id2 和 6 的响应,其all值为 0,并且循环也永远不会中断。

任何人都可以让我知道我在做什么错误

标签: pythonjsondataframe

解决方案


弄清楚了:

以下代码对我有用。

for index, value in dataframe.iterrows():
    if value['all'] > 0:
        url1 = "https://mywebsite/new/"+str(value['id'])+str(alert)
        response1 = requests.get(url=url1, headers=headers, params=querystring1).json()
        print(response1)
        print("New ID :" +str(value['id']))

推荐阅读