how to make fxn argument work with setting a field value

noydb jenn.duerr at
Thu Sep 8 03:32:21 CEST 2011

What do I need to do to line 14 code below to get it to recognize the
field name and not the argument name?

I get this error with below code at line 13, the print row.rankFld
>RuntimeError: Row: Field rankFld does not exist
A field called rankFld does not, should not exist.  rankFld is
"RANKa" (in this first iteration), which does exist (gets added in
line 6, verified).
Line 14 fails too, if 13 is commented out.

import arcpy

fc = r"C:\test\scratch.gdb\sort_test1"

def rank(inFC, outFC, scoreFld, popFld, rankFld):
    arcpy.AddField_management(inFC, rankFld, "LONG"), outFC, [[scoreFld, "DESCENDING"],
[popFld, "DESCENDING"]])
    i = 0
    print rankFld # >RANKa
    rows = arcpy.UpdateCursor(fc)
    for row in rows:
        i = i + 1
        print row.rankFld
        row.rankFld = i ## line 14

    return sortedFC

out1 = r"C:\test\scratch.gdb\rankfxn6"
out2 = r"C:\test\scratch.gdb\rankfxn7"

rank(fc, out1, "SCOREa", "COUNT1", "RANKa")
rank(out1, out2, "SCOREb", "COUNT2", "RANKb")

More information about the Python-list mailing list