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)