Im essayant d'écrire un script qui découvre si le fichier de formes a un champ spécifique et sinon d'ajouter le champ. Je l'obtiens pour me montrer le champ, mais la boucle passe par chaque champ, donc cela créerait un nouveau champ chaque fois que le champ spécifié n'est pas là. Mais si c'est là, je veux juste qu'il dise qu'il est là et que ce n'est pas pour créer un nouveau champ. Jusqu'à présent, mon code dit simplement:
"not filled in yet"
"not filled in yet"
"not filled in yet"
"cities.shp"
"not filled in yet"
(imprime comme ceci car il y a cinq champs)
Mon code jusqu'à présent:
fieldList = arcpy.ListFields("cities.shp")
for field in fieldList:
if field.name == "CAPITAL":
print "cities.shp"
else:
"then add new field"
python
arcgis-desktop
arcpy
fields-attributes
list
user23879
la source
la source
Réponses:
Au lieu de boucler sur les noms de champs actuels, vous pouvez boucler sur les noms de champs que vous souhaitez ajouter. Supposons que vous ayez une liste
to_add
contenant les noms de champ que vous voulez que votre classe d'entités ait. Vous pouvez ensuite utiliser l'in
instruction pour vérifier si chaque élément deto_add
est dedansfieldList
. Les éléments suivants devraient fonctionner:la source