import arcpy, os from arcpy.sa import * from arcpy import env arcpy.CheckOutExtension("Spatial") arcpy.env.overwriteOutput = True areaTab1 = r"X:\DATA\ROW_SP_areaTab" rows = arcpy.UpdateCursor(areaTab1) for row in rows: for col in rows: if row.getValue(row) == 0: row.setValue(9999) row.updateRow(row)
Solved! Go to Solution.
rows = arcpy.UpdateCursor(areaTab1) cols = arcpy.ListFields(areaTab1) for row in rows: for col in cols: if row.getValue(col.name) == 0: row.setValue(col.name, 9999) rows.updateRow(row)
if row.getValue(col) == 0:
import arcpy inFeatures = r"X:\DATA\ROW_SP_areaTab fieldList = arcpy.ListFields(inFeatures) for field in fieldList: codeblock = "def func(field):\n if field == 0:\n return 9999" expression = "func(!" + field.name +"!)" arcpy.CalculateField_management(inFeatures, field, expression,"PYTHON",codeblock)
import arcpy, os from arcpy.sa import * from arcpy import env arcpy.CheckOutExtension("Spatial") arcpy.env.overwriteOutput = True areaTab1 = r"X:\DATA\ROW_SP_areaTab" rows = arcpy.UpdateCursor(areaTab1) cols = arcpy.ListFields(areaTab1) for row in rows: for col in cols: if row.getValue(col.name) == 0: row.setValue(col.name, 9999) row.updateRow(row)
Alternatively, for your code you're looping through the rows twice, not the columns at all.import arcpy, os from arcpy.sa import * from arcpy import env arcpy.CheckOutExtension("Spatial") arcpy.env.overwriteOutput = True areaTab1 = r"X:\DATA\ROW_SP_areaTab" rows = arcpy.UpdateCursor(areaTab1) cols = arcpy.ListFields(areaTab1) for row in rows: for col in cols: if row.getValue(col.name) == 0: row.setValue(col.name, 9999) row.updateRow(row)
edit: changed some "col" to "col.name"
for row in rows: for col in cols: if row.getValue(col.name) == 0: row.setValue(col.name, 9999) row.updateRow(row
rows = arcpy.UpdateCursor(areaTab1) cols = arcpy.ListFields(areaTab1) for row in rows: for col in cols: if row.getValue(col.name) == 0: row.setValue(col.name, 9999) row.updateRow(row)
rows = arcpy.UpdateCursor(areaTab1) cols = arcpy.ListFields(areaTab1) for row in rows: for col in cols: if row.getValue(col.name) == 0: row.setValue(col.name, 9999) rows.updateRow(row)