组合两个逗号分隔的列表以返回一个数组

问题描述 投票:0回答:2

我有两个逗号分隔的列表,companyID 和 viewalltickets,它们是通过从 Freshdesk 到 Zapier 的 API 调用检索到的,并且彼此关联,我需要创建一个数组,我可以将其放回到从 Zapier 回到 Freshdesk 的另一个 API 调用中,但是我努力做到这一点。

最终,我从联系人处调用信息,如果他们已经与 Freshdesk 中的多个公司关联,我需要将一个新公司添加到与他们关联的公司列表中,而不删除现有公司。 Freshdesk 没有一种方法可以简单地添加到现有字段,它总是会替换现有字段,因此我需要收集现有字段,添加一个新字段并将其组合到新的 API PUT 调用中。

示例:

company_id有48000098316,48000110432

view_all_tickets 有 true,false

我需要它返回如下格式 {“company_id”:48000098316,“view_all_tickets”:true},{“company_id”:48000110432,“view_all_tickets”:false}

我已经尝试了 Zapier/Code by Zapier/Formatter 中我能想到的所有功能组合,但还没有找到成功的方法来将其恢复为我需要的格式,以便我可以使用它。

公平地说,我非常缺乏经验,但正在尽我所能做到这一点。

zapier freshdesk
2个回答
0
投票

我将在 Zapier 的 Code 步骤中使用 Python 代码片段,通过逗号分隔来从逗号分隔的字符串创建列表。然后 zip 将两个列表放在一起,因为假设两个逗号分隔的字符串始终具有相同的长度。

从那里,您可以迭代 zip 对象以创建单独的记录,并将它们附加到新列表,最后附加到输出字典中的键,以便在后续步骤中执行 PUT 操作:

input_data = {
    'company_id' : '48000098316,48000110432',
    'view_all_tickets' : 'true,false'
}

output = {}

zipped = zip(input_data['company_id'].split(','),input_data['view_all_tickets'].split(','))

records = []
for company_id, ticket in zipped:
    record = {
        'company_id' : company_id,
        'view_all_tickets' : ticket
    }
    records.append(record)
    
output['records'] = records

0
投票

下面完成了我在 API 调用中使用它所需要做的事情,它需要一些格式化块来删除添加的额外引号并使所有内容都小写,以便布尔值不会试图认为它们是单词。

`输入数据 = { 'company_id': '48000098316,48000110432', 'view_all_tickets' : '真,假' }

输出 = {}

zipped = zip(input_data['company_id'].split(','),input_data['view_all_tickets'].split(','))

记录=[] 对于 company_id,压缩票: 记录={ “'company_id'”:company_id, “'view_all_tickets'”:门票 } 记录.追加(记录)

输出['记录'] = str(记录)`

© www.soinside.com 2019 - 2024. All rights reserved.