代码之家  ›  专栏  ›  技术社区  ›  RustyShackleford

如何将内容类型为application/x-www-form-urlencoded格式的数据帧行迭代到API POST请求中?

  •  0
  • RustyShackleford  · 技术社区  · 6 年前

    我有一个如下所示的数据框:

    email        p[1]:
    a@a.com       1
    b@b.com       2 
    

    这个 p[1] 字段是列表ID。

    如何将此数据帧的行一次传递给 Content-Type: application/x-www-form-urlencoded 总体安排

    如果没有数据帧,当我尝试此代码时,它可以工作:

    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的更多信息。 https://www.activecampaign.com/api/example.php?call=contact_add

    提前谢谢你。

    1 回复  |  直到 6 年前
        1
  •  1
  •   ALollz    6 年前

    如果你想一次做一个 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}
    

    然后您可以通过 params 无论你想要什么,在循环中一次一个。