首页 > 解决方案 > 如何在熊猫数据框上应用 api

问题描述

我的数据框

uid,api_url
1, abc.com
2, xyz.com

我的 json api 必须urlapi_url数据框中获取密钥并获取响应

  jso ='''{
    "ui_id": "1111",
    "data": {
    "url": "xxxxxxx"
    }
    }'''
    json_d = json.loads(jso)

我的代码

def doc_(response):
    headers = {"Content-Type": "application/json"}
    response = requests.post("abc.com/v3/doc",headers=headers,json=json_d)
    return response.text

在数据框中创建新列

df['response'] = df['api_url'].apply(doc_)

标签: pandas

解决方案


您需要针对每个 API 请求更新/重新生成您的json_dfor each api_url
此外,为函数/参数应用更好的命名。

def query_api(api_url):
    headers = {"Content-Type": "application/json"}
    json_d = {'ui_id': '1111', 'data': {'url': api_url}}
    response = requests.post("http://example.net/v3/doc", 
                             headers=headers, json=json_d)
    return response.text


df['response'] = df['api_url'].apply(query_api)

推荐阅读