# Import arcpy module import os, sys, arcpy, traceback, arcgisscripting arcpy.env.workspace = "Database Connections\\sars.sde\\" arcpy.env.scratchWorkspace = "d:\\ArcGISData\\SARS\\Python_10April2013\\SARS.gdb" Input_Polygons = arcpy.GetParameterAsText(0) Counties = arcpy.GetParameterAsText(1) # create output feature for spatial join if os.path.exists("d:\\ArcGISData\\SARS\\Python_10April2013\\SARS.gdb\\StewardshipCounties"): os.remove("d:\\ArcGISData\\SARS\\Python_10April2013\\SARS.gdb\\StewardshipCounties") outstewardshipcounties = os.path.join(arcpy.env.scratchGDB, "StewardshipCounties") with arcpy.da.UpdateCursor(Input_Polygons, ("DateStart", "PlanID", "FFY")) as rows: for row in rows: if not (row[1] or "").strip(): #covers blank, one blank space, or Null Datestarstr1 = row[0] Datestarstr2 = str(Datestarstr1) yearonly = Datestarstr2[0:4] row[2] = yearonly rows.updateRow(row) arcpy.Identity_analysis(Input_Polygons, Counties, outstewardshipcounties) #run spatial join tool arcpy.CalculateField_management(Input_Polygons, "OID", '!OBJECTID!', "PYTHON_9.3") #create dictionary path_dict = { } rows = arcpy.SearchCursor(outstewardshipcounties) for row in rows: keyrow = row.OID valrow = row.FIPS_TXT path_dict[keyrow] = valrow urows = arcpy.UpdateCursor(Input_Polygons) for urow in urows: upkey = urow.OID if upkey in path_dict: urow.setValue("County", path_dict[upkey]) urows.updateRow(urow) del row, rows, urow, urows
Solved! Go to Solution.
Input_Polygons = "Stewardship" with arcpy.da.UpdateCursor(Input_Polygons, ("DateStart", "PlanID", "FFY")) as rows: for row in rows: if not (row[1] or "").strip(): #covers blank, one blank space, or Null Datestarstr1 = row[0] Datestarstr2 = str(Datestarstr1) yearonly = Datestarstr2[0:4] row[2] = yearonly rows.updateRow(row)