||
在 ArcGIS 的字段计算器中,若需判断字段值是否为 空(空字符串、空格) 或 None,并返回提示信息 "字段为空",可使用以下 Python 脚本:
完整代码与使用步骤1. 字段计算器配置解析器:选择 Python。
代码块:输入以下函数:
pythonCopy Codedef check_empty(value): # 判断 None 或空字符串/纯空格 if value is None: return "字段为空" elif isinstance(value, str) and value.strip() == "": return "字段为空" else: return value # 非空时保留原值(或自定义内容)表达式:
pythonCopy Codecheck_empty(!YourFieldName!)value is None:检测数值、日期等非字符串字段的空值(NULL)。
value.strip() == "":检测字符串字段的空值(包括 "" 或 " ")。
return value:非空时返回原字段值,可替换为其他内容(如 "非空")。
若需检查多个字段是否为空,可使用以下代码:
pythonCopy Codedef check_multiple_fields(field1, field2): # 检查字段1 if field1 is None or (isinstance(field1, str) and field1.strip() == ""): result1 = "字段1为空" else: result1 = "字段1正常" # 检查字段2 if field2 is None or (isinstance(field2, str) and field2.strip() == ""): result2 = "字段2为空" else: result2 = "字段2正常" return f"{result1}, {result2}"表达式:pythonCopy Codecheck_multiple_fields(!Field1!, !Field2!)注意事项字段类型兼容性:
字符串字段:需处理 None、"" 和空格。
数值/日期字段:空值仅表现为 None。
性能优化:
大数据量时避免复杂逻辑,优先使用简单条件。
空格处理:
使用 .strip() 可过滤字符串首尾的空格,若需保留中间空格可移除该方法。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2025-4-26 09:57
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社