如何解决python len() 字段计算
我正在尝试在 Arcgis pro 中的字段计算中编写脚本。来自其他字段的值将汇总到一个新字段中。对于低于 60 米的值,该值应设置为 60。应汇总所有其他值。此外,型号名称应以大写字母书写。如果任何字段中都没有值,则应显示“无数据”。 不幸的是我找不到错误..
对此的任何帮助将不胜感激!
值 (!Typ1!,!Typ2!,!Typ3!,!Shape_area!,!total!)
def value (Fieldvalue1,Fieldvalue2,Fieldvalue3,Fieldvalue4,Fieldvalue5):
if len(Fieldvalue1) > 1:
combine = str(Fieldvalue1) + "_" + Fieldvalue4
return combine
elif len(Fieldvalue2) > 1:
combine = str(Fieldvalue2) + "_" + Fieldvalue4
return combine
elif len(Fieldvalue3) > 1:
combine = str(Fieldvalue3) + "_" + Fieldvalue4
return combine
if Fieldvalue4 < 60:
return "60"
else:
return "No data"
Fieldvalue5 = Fieldvalue5.upper()
解决方法
在if比较表达式中尝试将Fieldvalue4在加法之前转换为str或转换为int(如果是str)。
,字段具有长度属性:
def value (Fieldvalue1,Fieldvalue2,Fieldvalue3,Fieldvalue4,Fieldvalue5):
if Fieldvalue1.length > 1:
combine = str(Fieldvalue1) + "_" + Fieldvalue4
return combine
elif Fieldvalue2.length > 1:
combine = str(Fieldvalue2) + "_" + Fieldvalue4
return combine
elif Fieldvalue3.length > 1:
combine = str(Fieldvalue3) + "_" + Fieldvalue4
return combine
if Fieldvalue4 < 60:
return "60"
else:
return "No data"
# Dead code here
Fieldvalue5 = Fieldvalue5.upper()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。