This is how I've implemented the new DA cursors. The cursor is limited to the fields you want to update with the join field located at index 0, the dictionary is created with row[0] as the key and easily accessed by the update cursor. #Define fields to update, and the field to use as join field Fields = ['Direction', 'Cost', 'year', 'Color'] Key = "UniqueID" Fields.insert(0, Key) #Create Dictionaries ; The dictionaries store the values from the update table in memory x = len(Fields) UpdateDict = {} #Iterates through all values in the table and stores them in the update dictionary #Dictionary format; Join Field value : list of field values with arcpy.da.SearchCursor(Table, Fields) as cursor: for row in cursor: FieldValDict = {} for y in range(1,x): FieldValDict = row UpdateDict[row[0]] = FieldValDict #Updates the FC from the Update Dictionary #Uses the Join Field value to look up update values with arcpy.da.UpdateCursor(Input, Fields) as cursor: for row in cursor: for y in range(1,x): row = UpdateDict[row[0]] cursor.updateRow(row)
... View more