Как реплицировать Excel IFERROR в Python - PullRequest
0 голосов
/ 03 октября 2019

Я пытаюсь перевести формулу 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) и по-прежнему возвращать значение, верно? Есть ли другой способ, которым я мог бы пойти по этому поводу, или я делаю это правильно?

...