Python 传递零错误
我正在尝试为报告执行销售价格到成本的计算。我得到的数据将被放入Excel表格中进行传递。这个脚本已经运行了好几个星期,但最近开始失败。它在一行失败,该行正在将数据写入我的Excel工作表,该工作表获取两条信息并计算它以获得我的边距。问题是我的成本不低于我的销售价格(亏本销售),这是导致我的脚本失败的原因。我如何才能让我的脚本不仅通过,而且正确地记录方程式Python 传递零错误,python,excel,python-2.7,python-3.x,exception,Python,Excel,Python 2.7,Python 3.x,Exception,我正在尝试为报告执行销售价格到成本的计算。我得到的数据将被放入Excel表格中进行传递。这个脚本已经运行了好几个星期,但最近开始失败。它在一行失败,该行正在将数据写入我的Excel工作表,该工作表获取两条信息并计算它以获得我的边距。问题是我的成本不低于我的销售价格(亏本销售),这是导致我的脚本失败的原因。我如何才能让我的脚本不仅通过,而且正确地记录方程式 ws.cell(行=x,列=y,值=(s.SalePrice-s.Cost)/s.SalePrice) 我已经为我的Excel工作表导入了py
ws.cell(行=x,列=y,值=(s.SalePrice-s.Cost)/s.SalePrice)
我已经为我的Excel工作表导入了pyxl和xlrd。只要
s.SalePrice
为0,就会出现错误
您可以将表达式包装在try/except
块中,以捕获并适当处理该错误:
try:
val = (s.SalePrice - s.Cost) / s.SalePrice
except ZeroDivisionError:
val = 'N/A'
ws.cell(row=x, column=y, value=val)
如果
s.SalePrice
为0,则将N/A
替换为您希望显示的任何适当消息。如果s.SalePrice
为0,则您会收到您提到的错误…嘿,感谢您的快速响应!我会试一试,然后再打给你。