Я пытаюсь перевести формулу Excel в Python. Формула включает в себя оператор IIFERROR(value, value_if_error)
. Вот фактическая формула:
IFERROR(IF(AND(BQ2<>"",INT(BQ2)<='C:\Users\[R_FY_Template.xlsx]Date'!$B$2),"YES", "NO"),"NO")
Где 'C:\Users\[R_FY_Template.xlsx]Date'!$B$2
заменяется сегодняшней датой.
Мой перевод функции (мне нужно перебирать строки в кадре данных), который воссоздаетэто выглядит следующим образом:
def bs_trigger(row):
try:
if (row.PRELIM_DATE != None) & (row.PRELIM_DATE <= today):
return "YES"
else:
return "NO"
except ValueError:
return "NO"
На поверхности использование try/except
будет обрабатывать наличие ошибки (эквивалентной IFERROR
) и по-прежнему возвращать значение, верно? Есть ли другой способ, которым я мог бы пойти по этому поводу, или я делаю это правильно?