7

I have been combing the help associated with (None) values in arc, and have not been able to solve the following problem:

I have a a field with mixed Null and integer values:

0

100

I would like to transform the null values to 0's in python:

   cursor = arcpy.UpdateCursor(fishJoin, ['myField']):

    for row in cursor:
        if row is None:
            row = 0
            cursor.updateRow(row)

This does not alter any of the null values.

I'm using ArcGIS Desktop 10.0.

PolyGeo
  • 65,136
  • 29
  • 109
  • 338
Sarobinson
  • 95
  • 1
  • 1
  • 6

1 Answers1

13

I would recommend using the data access module da with the Update Cursor as you will notice significant performance improvements. The following is the correct syntax to replace <Null> (aka None) values with 0.

import arcpy

fc = r'C:\path\to\your\FGDB.gdb\andFC'

with arcpy.da.UpdateCursor(fc, ["Field_Name"]) as cursor:
    for row in cursor:
        if row[0] == None:
            row[0] = 0
            cursor.updateRow(row)

print "Processing complete"

The following is the correct syntax for ArcGIS 10.0 (i.e. without the da module).

import arcpy

fc = r'C:\path\to\your\FGDB.gdb\andFC'

cursor = arcpy.UpdateCursor(fc)

for row in cursor:
    if row.YourFieldName == None:
        row.YourFieldName = 0
        cursor.updateRow(row)

print "Processing complete"

del row
Aaron
  • 51,658
  • 28
  • 154
  • 317
  • This script runs for me but does not end up changing the attribute. My attribute is not a value but rather empty (i.e. '') It prints "Processing Complete" but does not updated the value. Here is my code: `import arcpy

    fc = r'D:_data\sidewalk.gdb\repairs'

    cursor = arcpy.UpdateCursor(fc)

    for row in cursor: if row.FixedBy == None: row.YourFieldName = 'Contractor' cursor.updateRow(row)

    print "Processing complete"

    del row`

    – cbunn Jun 08 '17 at 13:31
  • @cbunn I would urge you to open a new question. It is difficult to understand your code in the comments. – Aaron Jun 08 '17 at 13:37
  • Sorry, it is its own question now here: https://gis.stackexchange.com/questions/243256/update-cursor-script-not-running – cbunn Jun 08 '17 at 13:39