Suite

Déterminer le nombre de champs d'un certain type de champ qu'il y a dans une classe d'entités en entrée

Déterminer le nombre de champs d'un certain type de champ qu'il y a dans une classe d'entités en entrée


Je me demande donc comment obtenir le nombre de types de champs "String" en créant une fonction personnalisée ? Quelqu'un peut-il me diriger dans la bonne direction? J'ai un fichier de formes nommé rues et il y a 73 noms de champs/types de champs et je continue à obtenir ce numéro et non le numéro correspondant pour le seul type "String".

import arcpy arcpy.env.workspace = "C:UsersOgiDesktopGIS ProgrammingDataPrgGISLab10" def countstringfields(table): fields = arcpy.ListFields("streets.shp ", {"String"}) namelist = [] pour le champ dans les champs : namelist.append(field.type) return len(namelist) fieldtype = countstringfields("C:UsersOgiDesktopGIS Programming DataPrgGISLab10streets.shp") imprimer le type de champ

les arguments pour listfield sont ListFields(dataset, {wild_card}, {field_type})

vous définissez "String" dans le wild_card (2e argument), vous devez le définir sur field_type (3e argument).

De plus, si tout ce que vous voulez est un décompte, vous pouvez le faire en une seule ligne de code (pas besoin de fonction).

print(len(arcpy.ListFields(r'c:	empx.shp', "", "String")))

Aide en ligne pour arcpy.ListField