如何在pandas数据帧上应用api

如何在pandas数据帧上应用api,pandas,Pandas,我的数据帧 uid,api_url 1, abc.com 2, xyz.com 我的json api have keyurl必须取自数据帧的api\u url,并获得响应 jso ='''{ "ui_id": "1111", "data": { "url": "xxxxxxx" } }''' json_d = json.loads(jso) 我的代码 def doc_(response): headers = {"Content-T

我的数据帧

uid,api_url
1, abc.com
2, xyz.com
我的json api have key
url
必须取自数据帧的
api\u 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
在数据框中创建新列的步骤

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

df['response']=df['api\u url']。应用(doc)

您需要为每个api请求的
api\u url
更新/重新生成您的
json\u d

另外,对函数/参数应用更好的命名

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)

您需要为每个api请求的
api\u url
更新/重新生成您的
json\u d

另外,对函数/参数应用更好的命名

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)

如果我的json api有这么多参数,我是否需要传递所有示例“{”ui_id:“1111”,“data:{”url:“xxxxxxx”,键入“:”in“}}}”@Nons,如果所有其他键都是公共的,您可以使用
json_d
作为可变占位符,并使用
json_d['data']['url]更新
url
键=api_url
如果我需要添加{'ui_id'},它是来自数据帧的uid,数据类型为int64,json_d={'ui_id':uid,'data':{'url':api_url},则在每个函数上只需再调用一个我收到错误名称错误:名称“uid”不正确defined@Nons,而不是动态地更改条件-您应该准备好所有条件,并在处理之前将它们发布到您的问题中如果我的json api有这么多参数,我是否需要通过所有示例`{“ui_id”:“1111”,“data”:{“url”:“xxxxxxx”,键入“}”`@不,如果所有其他键都是公共的,您可以使用
json\u d
作为可变占位符,并使用
json\u d['data']['url']=api\u url
在每个函数调用上更新
url
,如果需要添加{'ui\u id',这是数据帧中的uid,数据类型为int64,json\u d={'ui\u id':uid,'data':{'url':api_url}}我收到错误名称错误:名称'uid'不正确defined@Nons,而不是动态地改变条件-你应该事先准备好所有的条件并将它们发布在你的问题中