可以使用Zapier中的Code实现交叉引用数据流。特别是从2个不同的数据流中生成GSheets中的行?

时间:2017-03-17 20:32:29

标签: zapier basecamp

我的目标是每周在Basecamp 3的几个项目中创建自动待办事项。

为此,我使用Zapier中的Schedule应用程序触发在Google电子表格上创建多行。然后,这些行触发在Basecamp 3中的特定项目中创建待办事项。此行的输入应为:项目的名称(用于搜索步骤),待办事项文本。

我正在使用Zapier中的Formatter App来尝试实现这一目标。在第一个Formatter操作中,我使用我们项目的所有名称的逗号分隔文本并返回所有段。在第二个Formatter上,我将分割所有待办事项文本的文本,并再次返回所有段。

Formatter 1输入(项目):AA,BB,CC,DD

Formatter 2输入(待办事项文本):购买,使用,破解,修复

现在,我想要实现的目标在附图中说明。还说明了zap(就像它)实现的数据。 Data Stream Diagrams

我们经常使用Grasshopper,一种用于参数化建模和数据驱动设计的Rhino 3D插件。在蚱蜢中,这将被称为"交叉引用"数据流。这是否可以在Zapier中使用Code?如果是这样,我可以得到一些帮助吗?

谢谢!

Zapier Zap GIF:https://drive.google.com/open?id=0B85_sQemABgmQVd6MENRd0NsNGc

1 个答案:

答案 0 :(得分:0)

我没有权限查看您的Google云端硬盘链接,但我认为我了解了您尝试做的事情。

与使用Formatter相比,您最好不要使用Python,因为您可以更好地控制返回的内容。您可以使用Python itertools.product获取两个列表的每个组合。

# zapier runs in a vanilla python environment
# so you can import standard packages
import itertools 

letters = ['AA', 'BB', 'CC', 'DD']
actions = ['buy it', 'use it', 'break it', 'fix it']

combos = list(itertools.product(letters, actions)) 
# [('AA', 'buy it'), ('AA', 'use it'), ... ('DD', 'fix it')]

从那里开始,您希望按行动步骤的要求格式化该列表(可能通过列表理解,例如[{'code': c[0], 'action': c[1]} for c in combos],并从代码步骤返回列表。

Zapier的一个隐藏功能是,如果从代码步骤返回一个数组,则zap将为每个数组元素运行该操作。但要小心,这意味着对于zap的每个输入,输出将运行16x(这可以快速进入任务限制)。

希望这会让你走上正轨。如果有些事情不清楚,请告诉我!