currently have a code that i would like to update a certain field based off of two other fields but i am getting a error.
Error:TypeError: list indices must be integers, not str.
on line : row = (sourceFieldsList['SiteStreet_1'] + " " + sourceFieldsList['StreetType_1'])
The only difference in the fields is that some have different lengths, the fields are 'String' fields so i am not sure what's going on other then the lengths. Do the fields have to be the same lengths?
Any help would be great, thanks!
# define the field list from the spatial join sourceFieldsList = ["TARGET_FID", poly,"SiteAddress",'SiteNum_1', 'SiteStreet_1','SiteNumSfx_1','Predir_1','SiteStreet_1', 'Postdir_1', 'SiteCity_1', 'SiteZIP_1', 'OwnerName_1','StreetType_1'] # # define the field list to the original points updateFieldsList = ["OID@", Pnt,"SiteAddres", 'SiteNum', 'StreetName', 'SiteNumSfx','Predir','SiteStreet', 'Postdir', 'SiteCity', 'SiteZip', 'OwnerName' 'StreetType'] # Start an edit session. Must provide the workspace. edit = arcpy.da.Editor(arcpy.env.workspace) # Edit session is started without an undo/redo stack for versioned data # (for second argument, use False for unversioned data) edit.startEditing(True) # Start an edit operation edit.startOperation() manualFields = ["FacltyType","GIS_STEW", "StructType", "Verified", "Status", "StructCat", "APA_CODE",'StreetName'] #] with arcpy.da.UpdateCursor(pointLayer, manualFields) as rows: for row in rows: row = ("Single Family Home") row = ("Canyon") row = ("Primary, Private") row = ("Yes, GRM, TA") row = ("LM") row = ("Residential") row = ("1110") row = (sourceFieldsList['SiteStreet_1'] + " " + sourceFieldsList['StreetType_1']) rows.updateRow(row)