J'ai utilisé des curseurs pour créer une nouvelle table attributaire avec python et arcpy. Cependant, lorsque j'essaie d'imprimer les lignes à partir des données d'attributs telles que le pays, la ville, une seule ville sera imprimée.Ligne d'impression en Python
arcpy.CopyRows_management (folder_path + '\NA_Cities.shp', folder_path + '\Select_Cities.dbf')
fc = folder_path + '\Select_Cities.dbf'
The_cursor = arcpy.da.UpdateCursor(fc, ['CNTRY_NAME', 'Population'])
for row in The_cursor:
if row[0] == 'United States' and row[1] < 8000000:
The_cursor.deleteRow()
elif row [0] == 'Mexico' and row[1] < 8000000:
The_cursor.deleteRow()
elif row[0] == 'Canda' and row[1] < 3000000:
The_cursor.deleteRow()
print row
Voici mon résultat
Selecting locations
Please Stand By...
Removing the data that does not meet the requirements
[u'Canada', 25000.0]
Finished identifying the cities
Merci à l'avance pour tout conseil!
vous êtes dans une boucle for. dès que l'une des conditions réussit, la boucle passera à l'élément suivant dans la liste, dans ce cas le résultat de votre requête. quoi qu'il retourne. –
Canda ... dans votre dernier elif ... nous préférons le Canada –
Les questions qui demandent une aide au débogage doivent inclure le comportement souhaité, un problème ou une erreur spécifique et le ** code le plus court nécessaire pour le reproduire **. Vous ne montrez pas où votre instruction 'print' est et donc nous ne pouvons pas vous dire comment le réparer. Voir: [Comment créer un exemple minimal, complet et vérifiable] (http://stackoverflow.com/help/mcve). – Erica