AnsweredAssumed Answered

Using SearchCursor and CalculateField

Question asked by BTLeslie on Jul 28, 2014
Latest reply on Jul 28, 2014 by BTLeslie

Hi - I'm trying to write a little bit of code to assign a random value to my ORIENT field where ORIENT = 0.


My problem is that it chages the ORIENT for the whole table not just where the value is zero.


I guess that this is because line 14 does not refer to row but I don't know how to charge it so it does refer to row - can anyone advise??


import arcpy

fc = r"c:\Test_Orient.shp"
feildName = "ORIENT"
expression = "rand_num()*360"
codeblock = """def rand_num():
    import random
    return random.random()"""
#search for rows to be altered
rows = arcpy.SearchCursor(fc, fieldName + " = 0")

for row in rows:
    arcpy.CalculateField_management(fc, fieldName, expression, "PYTHON_9.3", codeblock)