Ich habe Cursor verwendet, um eine neue Attributtabelle mit python und arcpy zu erstellen, aber wenn ich versuche, die Zeilen aus den Attributdaten wie z. B. Land, Stadt, & Bevölkerung zu drucken, wird nur eine Stadt gedruckt.Zeile drucken in 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
Hier ist mein Ergebnis
Selecting locations
Please Stand By...
Removing the data that does not meet the requirements
[u'Canada', 25000.0]
Finished identifying the cities
Vielen Dank im Voraus für jede Beratung!
Sie befinden sich in einer for-Schleife. Sobald eine der Bedingungen erfolgreich ist, springt loop zum nächsten Element in der Liste, in diesem Fall zum Abfrageergebnis. was auch immer es zurückkommt. –
Canda ... in Ihrem letzten elif ... bevorzugen wir Kanada –
Fragen, die Debugging-Hilfe suchen, müssen das gewünschte Verhalten, ein bestimmtes Problem oder einen Fehler und den kürzesten ** Code enthalten, der für die Reproduktion erforderlich ist **. Sie zeigen nicht an, wo Ihre 'print'-Anweisung ist und daher können wir Ihnen nicht sagen, wie Sie diese beheben können. Siehe: [Erstellen eines minimalen, vollständigen und überprüfbaren Beispiels] (http://stackoverflow.com/help/mcve). – Erica