if, else синтаксис и добавление данных в новое поле - PullRequest
0 голосов
/ 14 октября 2018

Я пытаюсь, чтобы у этого нового поля "FERRY" было или "ДА" или "НЕТ" в зависимости от критериев из поля "ФУНКЦИЯ".Я использую поисковый курсор для поиска дорожных объектов, которые пересекают паром.Если они это сделают, поле «FERRY» будет иметь «YES» для этой строки и «NO» для наоборот.Я могу успешно создать новое поле, но когда я попадаю в цикл for и оператор if, пытающийся ввести «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

Ниже приведен вывод: вывод для кода до сих пор

...