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

如何将列中的整个列表转换为字符串以传递到API?

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

    我需要将逗号分隔的字符串传递到API中。

    当前df如下所示:

    id      tags
    1       ['dc','independent_press','exclusive_variants','marvel']
    

    找到标签的API文档 here 假设我需要像这样传递一个字符串:

    'comics,marvel,dc,batman'
    

    如何转换中的列表 tags 列转换为字符串,因此df如下所示:

    id      tags
    1       'comics,marvel,dc,batman'
    

    我想把这个字符串传递到API中,如下所示:

    for index, row in df.iterrows():
                params = {
                    'id': row['id'],
                    'tags':row['tag'], 
                    }
                r = requests.post(url, data=params, headers=headers)
                print(r)
    

    我尝试了一个字符串替换,比如:

    df.tags.str.replace('[',"'")
    

    但得到的结果是:

    0   NaN
    

    编辑:

    dict中的数据帧头:

    {'Email': {0: 'test@test.com'},
     'subcategory': {0: 'comics'},
     'category': {0: 'comic'},
     'id': {0: '1'},
     'is_new': {0: 1},
     'tag': {0: 'dc, independent_press, exclusive_varients, marvel'}}
    
    1 回复  |  直到 6 年前
        1
  •  2
  •   dtanabe    6 年前

    看起来标签只是 list 属于 str ,所以应该这样做:

    for index, row in df.iterrows():
        params = {
            'id': row['id'],
            'tags': ','.join(row['tags']), 
        }
        print(params)
    
        r = requests.post(url, data=params, headers=headers)
        print(r)