Python 如何将内容类型为application/x-www-form-urlencoded格式的数据帧行迭代到API POST请求中?
我有一个如下所示的数据帧:Python 如何将内容类型为application/x-www-form-urlencoded格式的数据帧行迭代到API POST请求中?,python,pandas,python-requests,api-design,Python,Pandas,Python Requests,Api Design,我有一个如下所示的数据帧: email p[1]: a@a.com 1 b@b.com 2 p[1]字段是列表ID 如何以内容类型:application/x-www-form-urlencoded格式将此数据帧的行一次传递到API post请求中 如果没有数据帧,当我尝试此代码时,它可以工作: headers = { 'content-type': 'application/x-www-form-urlencoded', } params =
email p[1]:
a@a.com 1
b@b.com 2
p[1]
字段是列表ID
如何以内容类型:application/x-www-form-urlencoded
格式将此数据帧的行一次传递到API post请求中
如果没有数据帧,当我尝试此代码时,它可以工作:
headers = {
'content-type': 'application/x-www-form-urlencoded',
}
params = {
'email': 'peach@peach.com',
' p[1]': '1',
}
url = 'https://URL/admin/api.php?api_action=contact_add&api_output=json&api_key=123ABC'
resp = requests.post(url, data=params, headers=headers)
如何传递数据帧的每一行,如何将数据帧格式转换为params
equalEvent格式
此api不接受批量上载。更多关于API的信息可以在这里找到
先谢谢你 如果希望一次执行一个,则需要
DataFrame.iterrows
import pandas as pd
df = pd.DataFrame({'email': ['a@a.com', 'b@b.com'], 'p[1]': [1,2]})
for index, row in df.iterrows():
params = {'email': row.email, 'p[1]': row['p[1]']}
print(params)
{'email': 'a@a.com', 'p[1]': 1}
{'email': 'b@b.com', 'p[1]': 2}
然后,您可以在循环中一次将
参数传递给任何您想要的对象。@RustyShackleford这个答案是正确的,但是您可以通过将dict转换为pandas来加快速度:对于df.to_dict(orient='records')中的参数:代码>