AnsweredAssumed Answered

arcpy.da.UpdateCursor too few parameters

Question asked by jwolff on Mar 16, 2016
Latest reply on Mar 16, 2016 by jwolff

I'm running ArcGIS 10.3 and have a geodatabase with multiple feature datasets each containing multiple feature classes.  Each feature class has multiple string type fields containing <Null> values.  I want to change the <Null> values to "TBD" (without the quotation marks).

 

I feel I'm very close, but at 'for row in cursor:' I'm receiving the error "Too few parameters.  Expected 1."  I guess the cursor isn't actually returning any rows at all?  Below is what I currently have; I haven't added any documentation or messaging yet.  Any help would be greatly appreciated.

 

import arcpy
from arcpy import env
import os

#Set variables
inputgdb = sys.argv[1]
nullCount = 0

#Set workspace
arcpy.env.workspace = inputgdb

#Populate Nulls with TBD
datasetList = arcpy.ListDatasets(feature_type = 'feature')
datasetList = [''] + datasetList if datasetList is not None else []
for dataset in datasetList:
    env.workspace = inputgdb + "\\" + dataset
    dataset = dataset + "\\"
    fcList = arcpy.ListFeatureClasses()
    for fc in fcList:
        fc = fc +"\\"
        fieldList = arcpy.ListFields(fc,["String"])
        for field in fieldList:
            with arcpy.da.UpdateCursor (fc, 'fieldList') as cursor:
                for row in cursor:
                    if row[0] == None:
                        row[0] = 'TBD'
                        cursor.updateRow(row)

Attachments

Outcomes