You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在arcpy.da.UpdateCursor中实现row[0]等于row[1]时设row[2]为None?

解决arcpy.da.UpdateCursor中按条件设置字段值的问题

问题描述

我正在编写人生第一个Python 2.7脚本,这也是我首次接触Python脚本开发并在此提问。目前几乎所有问题都已解决,唯独无法实现以下需求:在arcpy.da.UpdateCursor中,当row[0]等于row[1]时,将row[2]设为None。

解决代码及方案

import arcpy

fc = 'C:/DB/yourDB.gdb/yourFeatureClass.shp'
fields = ['field0', 'field1', 'field2']

with arcpy.da.UpdateCursor(fc, fields) as cursor:
    for row in cursor:
        if row[0] == row[1]:
            row[2] = None
        cursor.updateRow(row)

# 注:使用with语句管理游标时,无需手动执行del cursor,with代码块结束后会自动释放资源

关键说明

  • with语句会自动处理游标资源的创建与释放,避免手动管理资源可能出现的问题
  • 遍历游标每一行时,通过条件判断修改目标字段值,最后必须调用cursor.updateRow(row)提交修改才能生效

内容的提问来源于stack exchange,提问作者ZaZa M.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 16:51:37