pandas - 如何在熊猫数据框上应用 api
问题描述
我的数据框
uid,api_url
1, abc.com
2, xyz.com
我的 json api 必须url
从api_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_)
解决方案
您需要针对每个 API 请求更新/重新生成您的json_d
for 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)
推荐阅读
- java - 如何使用 Jsonb 库从 Postgres 读取 jsonb
- mpandroidchart - mpAndroidChart:Xaxis.setPosition 到 Bottom_Inside 在 HorizontalBarChart 上不起作用
- javascript - 使用 Next.js 动态导入节点模块
- java - 从文本文件中提取分离的代码并将其存储到数组中以供进一步使用
- python - 用不同的字符串结尾搜索相同的字符串开头
- python - 在 pythonista Objc_util 中使用 UINotificationFeedbackGenerator
- java - ARCore – 禁用 ModelRenderable 的移动
- elasticsearch - 弹性搜索 - 访问列表中元素的成员
- php - 仅显示选中的产品
- functional-programming - 在 Coq 中用连词结论拆分前提