Ich versuche ein Skript zu schreiben, das herausfindet, ob das Shapefile ein bestimmtes Feld hat und ob das Feld nicht hinzugefügt werden soll. Ich bekomme es, um mir das Feld zu zeigen, aber die Schleife durchläuft jedes Feld, sodass jedes Mal, wenn das angegebene Feld nicht vorhanden ist, ein neues Feld erstellt wird. Aber wenn es so ist, möchte ich nur, dass es da ist und wenn es nicht darum geht, ein neues Feld zu erstellen. Mein bisheriger Code sagt nur:
"not filled in yet"
"not filled in yet"
"not filled in yet"
"cities.shp"
"not filled in yet"
(Druckt so aus, weil es fünf Felder gibt)
Mein Code bisher:
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
quelle
quelle
Antworten:
Anstatt die aktuellen Feldnamen zu durchlaufen, können Sie auch die Feldnamen durchlaufen, die Sie hinzufügen möchten. Angenommen, Sie haben eine Liste
to_add
mit den Feldnamen, die Ihre Feature-Class haben soll. Sie können dann diein
Anweisung verwenden, um zu überprüfen, ob jedes Element von into_add
istfieldList
. Folgendes sollte funktionieren:quelle