操作方法:在 ArcMap 中将属性表中的空值替换为零 |
您所在的位置:网站首页 › 如何替换某一列中的个别值 › 操作方法:在 ArcMap 中将属性表中的空值替换为零 |
摘要
属性表可能包含多个具有空值的字段,默认情况下,将使用空格填充这些字段。 在某些情况下,如果未使用字符(不可空字段)填充这些字段,则某些工具或函数将不执行。 过程 本文将介绍两种方法来替换属性表中的空值:通过替换属性表中的空值,或者通过替换单个列(字段)中的空值。 使用 ArcPy 模块来替换属性表中的空值 注: 以下脚本可以用于 ArcMap 的 Python 控制台中,或者用作独立脚本。 导入所需的模块。 import arcpy 指定要素类的路径。 path = r'C:\Users\User\Test\Misc\Test.gdb\Testing' 列出所有字段,然后创建一个空数组以存储所有字段值。 fieldObs = arcpy.ListFields(path) fieldNames = [] 对字段进行循环,然后确定值的计数。 for field in fieldObs: fieldNames.append(field.name) del fieldObs fieldCount = len(fieldNames) 使用 UpdateCursor() 函数创建一个新循环以查找空字段并将其替换为所需值。 with arcpy.da.UpdateCursor(path, fieldNames) as curU: for row in curU: rowU = row for field in range(fieldCount): if rowU[field] == None: rowU[field] = "0" curU.updateRow(rowU) 创建创建的游标以释放要素类上的锁定。 del curU以下显示了完整脚本: import arcpy path = r'C:\Users\User\Desktop\Misc\Piracy.gdb\Continents' fieldObs = arcpy.ListFields(path) fieldNames = [] for field in fieldObs: fieldNames.append(field.name) del fieldObs fieldCount = len(fieldNames) with arcpy.da.UpdateCursor(path, fieldNames) as curU: for row in curU: rowU = row for field in range(fieldCount): if rowU[field] == None: rowU[field] = "0" curU.updateRow(rowU) del curU使用“计算字段”和 Python 解析程序替换单个字段中的空值 在 ArcMap 中,单击编辑器工具栏上的编辑器下拉菜单,然后选择开始编辑。在内容列表中,右键单击所选图层,然后选择打开属性表。![]() ![]() ![]() ![]() 文章 ID:000016100 从 ArcGIS 专家处获得帮助 联系技术支持部门下载 Esri 支持应用程序 转至下载选项 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |