跳过或排除字段计算器表达式中的空变量
Skip over or exclude empty variable in field calculator expression
我正在尝试使用字段计算器解析街道地址,return 只是街道名称。我的表达方式适用于只有门牌号但后面没有街道名称的地址;当到达这些街道名称不存在的错误记录时,计算会抛出错误。我希望能够跳过这些错误的地址,而只是 return 它们的输入字符串。我已经尝试在我的 if 语句中添加第二个条件,但似乎无法获得正确的语法。本质上我想说的是 "if the house number is a digit and the street name is not blank, return the street name otherwise return the full input string"
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! )
在此先感谢您的帮助
您可以在将 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
希望对您有所帮助
我正在尝试使用字段计算器解析街道地址,return 只是街道名称。我的表达方式适用于只有门牌号但后面没有街道名称的地址;当到达这些街道名称不存在的错误记录时,计算会抛出错误。我希望能够跳过这些错误的地址,而只是 return 它们的输入字符串。我已经尝试在我的 if 语句中添加第二个条件,但似乎无法获得正确的语法。本质上我想说的是 "if the house number is a digit and the street name is not blank, return the street name otherwise return the full input string"
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! )
在此先感谢您的帮助
您可以在将 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
希望对您有所帮助