You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Zapier Code(Python)中正确返回输出字典?求助排查异常

解决Zapier Python代码输出无法被后续步骤获取的问题

看起来你在Zapier里处理Acuity Scheduling到Salesforce的英尺数据转换时,遇到了代码输出不被后续步骤识别的问题。我来帮你拆解下代码里的关键问题,以及给出能正常工作的修复方案:

1. 初始代码的核心问题

你的初始代码有两个明显的错误,会直接导致代码报错或者输出不符合预期:

  • 直接使用Feets变量,但没有从input_data字典里取值(正确应该用input_data['Feets'])
  • else分支里的Inches变量完全没定义,运行时会触发NameError,导致代码直接失败

初始错误代码:

if " ' " in input_data['Feets']: 
    output = {'Feets':Feets.split("'")[0],'Inches':Feets.split("'")[1]} 
else: 
    output = {'Feets':Feets,'Inches':Inches}

2. 修复后的完整可运行代码

针对你的需求——把类似5'10或者6这种格式的Feets输入拆分成独立的Feets和Inches字段,修正后的代码应该是这样的:

# 先获取输入并去除首尾空格,避免格式干扰
feets_input = input_data['Feets'].strip()

if "'" in feets_input:
    # 只拆分一次,避免输入里出现多个单引号的特殊情况
    feets_part, inches_part = feets_input.split("'", 1)
    output = {
        'Feets': feets_part.strip(),
        'Inches': inches_part.strip()
    }
else:
    # 如果没有单引号,说明只有英尺值,这里把Inches设为空字符串(你也可以改成'0',看Salesforce字段要求)
    output = {
        'Feets': feets_input,
        'Inches': ''
    }

3. 确保Zapier识别输出的关键注意点

  • 必须返回output字典:Zapier的Python代码步骤只会读取名为output的变量作为后续步骤的数据源,别写错变量名
  • 避免代码截断/语法错误:你提到的更新后代码片段input_data['Feet...是截断的,这会直接导致代码运行失败,没有任何输出
  • 处理边界情况:比如输入带多余空格(比如5 ' 10),用strip()能避免拆分出无效的空白字符
  • 防KeyError:如果Feets字段可能为空,建议改成input_data.get('Feets', ''),避免字段不存在时报错

4. 调试小技巧

如果还是拿不到输出,可以加日志打印来排查:

# 打印输入数据,确认是否拿到了正确的Feets值
print(f"Received input data: {input_data}")

然后去Zapier的运行日志里查看打印内容,确认输入是否符合你的预期。

内容的提问来源于stack exchange,提问作者Fares Alsyoufi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 06:42:38