2017-07-28 26 views
0

我使用zapier将不同的应用程序放在一起。我需要分割一个字符串custom_id,它有6个由下划线分隔的部分。例如,sk000_i093_14.50_5_MNE_2017-07-25简单的拆分字符串不在zapier中工作

这里是我的代码:

split_str = input_data['custom_id'].split("_") 

output = [{'sk':split_str[0], 'buy_invoice':split_str[1], 'sales_amt':split_str[2], 'UPI':split_str[3], 'buyer':split_str[4], 'date_buy':split_str[5]}] 

我也试着这样说:

sk, buy_invoice, sales_amt, upi, buyer, date_buy = input_data['custom_id'].split("_") 

output = [{'sk':sk, 'buy_invoice':buy_invoice, 'sales_amt':sales_amt, 'upi':upi, 'buyer':buyer, 'date_buy':date_buy}] 

我已经搜查,搜查,并没有发现任何具体到zapier为什么我的简单拆分字符串不适用于zapier。当我测试的代码zapier没有给出有用的错误消息,只是:

"Bargle. We hit an error creating a run python. Error: Your code had an error!"

我试着运行它的多个方面,但每当我试图从拆分检索数据,我得到了非常无益的错误信息。

任何帮助非常感谢!谢谢!

更新: 当您测试代码时,Zapier会显示input_data的测试数据。即使这些数据正确显示,在实际测试过程中input_data为空!所以分裂没有错。唷!

谢谢!

+0

您需要在尝试访问带有split_str [2]或[3] ...的索引之前检查'split_str'列表的长度,在第二个解决方案中解包相同 – PRMoureu

+0

我建议您看看'input_data ['custom_id']'以确保它真的指向一个你目前假设的格式的字符串。 可能的错误是:字符串不存在,字符串没有您期望的格式,分割项目的数量与您期望的数量不匹配等。 –

+0

感谢您的意见。这让我更近了一步:Zapier表明我的测试数据是正确的,但在实际测试中,input_data是空的!我通过电子邮件发送了Zapier。希望他们能解决这个问题。谢谢。 – nnewren

回答

0

分割是正确的。问题是input_data没有被填充,即使Zapier显示正确的数据将填充它,input_data仍然是空的。我为input_data添加了一些更多的key:value对,因为我需要它们,刷新网页,刷新字段并重新测试代码,并且input_data最终被填充并且代码完美运行。

感谢PRMoureu和E. Ducateme为我提供了检查我的input_data(Duh!)的想法。