Пропустить или исключить пустую переменную в выражении калькулятора поля - PullRequest
0 голосов
/ 07 мая 2018

Я пытаюсь разобрать адреса улиц с помощью полевого калькулятора и вернуть только название улицы. Мое выражение работает за исключением адресов, где есть только номер дома без названия улицы после него; расчет выдает ошибку, когда он попадает в эти плохие записи, где название улицы не существует. Я хотел бы иметь возможность пропустить эти плохие адреса и просто вернуть входную строку для них. Я попытался добавить второе условие к моему оператору if, но не могу получить правильный синтаксис. По сути, я хочу сказать, что «если номер дома является цифрой, а название улицы не пустое, верните название улицы, в противном случае верните полную строку ввода»

def addressParser(inString):
    splitString = inString.split(' ',1)
    houseNumber = splitString[0]
    streetName = splitString[1]
    if houseNumber.isdigit() and if streetName != "":
        return streetName
    else:
        return inString

 addressParser( !FULLADDRESS! )

Заранее спасибо за любую помощь

1 Ответ

0 голосов
/ 07 мая 2018

вы можете переместить ваше условие вверх, прежде чем присваивать splitString[1] значение streetName, чтобы оно не повышало индекс вне диапазона исключений, когда название улицы не задано,

def addressParser(inString):
    splitString = inString.split(' ',1)
    houseNumber = splitString[0]
    if houseNumber.isdigit() and len(splitString) >= 2:
        return splitString[1]
else:
    return inString

надеюсь, это поможет

...