可以使用 Zapier 中的代码实现交叉引用数据流吗?特别是从 2 个不同的数据流中生成 GSheets 中的行?
Posted
技术标签:
【中文标题】可以使用 Zapier 中的代码实现交叉引用数据流吗?特别是从 2 个不同的数据流中生成 GSheets 中的行?【英文标题】:Can a cross-reference data stream be achieved using Code in Zapier. Especifically to generate rows in GSheets from 2 different data streams? 【发布时间】:2017-08-09 13:09:35 【问题描述】:我的目标是每周在 Basecamp 3 的多个项目中创建自动待办事项。
为此,我正在使用 Zapier 中的 Schedule 应用程序,它会触发在 google 电子表格上创建多行。然后这些行会触发 Basecamp 3 中特定项目中待办事项的创建。这些行的输入应该是:项目名称(用于搜索步骤)、待办事项文本。
我正在使用 Zapier 中的 Formatter 应用程序来尝试实现这一目标。在第一个 Formatter 操作中,我使用我们项目的所有名称的逗号分割文本并返回所有段。在第二个格式化程序上,我正在拆分所有待办事项文本的文本,并再次返回所有段。
格式化程序 1 输入(项目):AA、BB、CC、DD
格式化程序 2 输入(待办事项的文本):购买、使用、破坏、修复
现在,我试图实现的目标已在附图中说明。还说明了 zap(按原样)通过数据实现的目标。 Data Stream Diagrams
我们经常使用 Grasshopper,这是一款用于参数化建模和数据驱动设计的 Rhino 3D 插件。在蚱蜢中,这将被称为“交叉引用”数据流。这有可能在 Zapier 中使用 Code 来实现吗?如果是这样,我能得到一点帮助吗?
谢谢!
Zapier Zap GIF:https://drive.google.com/open?id=0B85_sQemABgmQVd6MENRd0NsNGc
【问题讨论】:
【参考方案1】:我无权查看您的 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 的每个输入,输出将运行 16 倍(这会很快消耗您的任务限制)。
希望这能让您走上正轨。如果有不清楚的地方请告诉我!
【讨论】:
谢谢!是的,对不起,我收到了通知。我已经公开了。对不起@xavdiv,我从来没有用 Python 编程过。我想我理解这个想法的逻辑,但你愿意解释一下我如何在 Zapier 中实现这一点吗?我不确定 zap 的输入数据部分会发生什么。而且,我怎样才能格式化这个列表?这应该在同一个代码步骤中完成吗?再次感谢! 代码应该是这样的吗?import itertools letters = ['AA', 'BB', 'CC', 'DD'] actions = ['buy it', 'use it', 'break it', 'fix it'] combo = list(itertools.product(letters, actions)) return = list
是的!您可以将其放入 python 代码步骤(因此会有触发器、代码和 google 表格),表格操作将每周运行 16 次。确保这适合您的任务使用!以上是关于可以使用 Zapier 中的代码实现交叉引用数据流吗?特别是从 2 个不同的数据流中生成 GSheets 中的行?的主要内容,如果未能解决你的问题,请参考以下文章
将相关数据添加到 Entity Framework 5 (Code-First) 中的交叉引用表