if、else语法和向新字段添加数据

2024-06-02 07:13:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图让这个新字段“FERRY”根据“FEATURE”字段中的条件选择“YES”或“NO”。我正在使用搜索光标搜索具有渡口的道路特征。如果这样做,“FERRY”字段将为该行显示“YES”,反之亦然。我可以成功地创建新字段,但是当我进入for循环和if else语句试图输入“YES”或“NO”时,程序就不能正常工作了。语法有问题吗?你知道吗

import arcpy
from arcpy import env
env.workspace = "E://fall_2018//Python//Assignments//Exercise6//Exercise07"


fc = "E://fall_2018//Python//Assignments//Exercise6//Exercise07//roads.shp"

fieldname = arcpy.ValidateFieldName("FERRY")
arcpy.AddField_management(fc, fieldname, "TEXT", "", "", 232)

cursor = arcpy.da.SearchCursor(fc, ["FEATURE"], '"FEATURE" = \'Ferry 
Crossing\'')

for row in cursor:
    print row[0]
    if row[0] == "Ferry Crossing":
        delimfield = arcpy.AddFieldDelimiters(fc, "YES")
        cursor = arcpy.da.UpdateCursor(fc, ["FERRY"], delimfield + " <> 
        'YES'")

          print delimfield
    elif row[0] != "Ferry Crossing":
        delimfield = arcpy.AddFieldDelimiters(fc, "NO")
        cursor = arcpy.da.UpdateCursor(fc, ["FERRY"], delimfield + " <> 
       'NO'")
del cursor

以下是输出: ouput for the code so far


Tags: noimportforifcursorfeaturedayes