import arcpy FC = "C:\\data\\test.gdb\\test" fields = ["newField1", "oldField1", "newField2", "oldField2", "newField3", "oldField3", .... "newFieldn", "oldFieldn"] #There are actually a lot more fields in this same new/old pattern with arcpy.da.UpdateCursor(FC, fields) as rows: i = 0 for row in rows: j = i + 1 row = row#simply setting the new value = old value for each old/new pair, but get "list index out of range" error i = i + 1
baseFieldNameList = ["Field1", "Field2", "Field3", ... "Fieldn") rows = arcpy.UpdateCursor for field in baseFieldNameList: newField = "new" + field oldField = "old" + field oldValue = row.getValue(oldField) row.setValue(newField, oldValue) rows.updateRow del rows, row
Solved! Go to Solution.
with arcpy.da.UpdateCursor(FC, fields) as rows: for row in rows: i = 0 while i < len(fields): #for field in fields: row = row[i + 1] i += 2 rows.updateRow(row)
with arcpy.da.UpdateCursor(FC, fields) as rows: for row in rows: i = 0 while i < len(fields): #for field in fields: row = row[i + 1] i += 2 rows.updateRow(row)