Zeilen löschen (Data Management)
Zusammenfassung
Löscht alle Zeilen oder die ausgewählte Teilmenge der Zeilen aus den Eingabezeilen.
Wenn die Eingabezeilen von einer Feature-Class oder Tabelle stammen, werden alle Zeilen gelöscht. Wenn die Eingabezeilen aus einem Layer oder einer Tabellensicht stammen, werden nur die im Layer ausgewählten Zeilen gelöscht.
Verwendung
-
Bei den Eingabezeilen kann es sich um eine INFO- oder dBASE-Tabelle, ArcSDE-, File- oder Personal-Geodatabase-Tabelle oder –Feature-Class, ein Shapefile, einen Layer oder eine Tabellensicht handeln.
-
Wenn unter den Eingabezeilen keine Zeilen ausgewählt sind, werden alle Zeilen gelöscht.
-
Falls dieses Werkzeug auf Feature-Daten angewendet wird, wird die gesamte Zeile einschließlich der Geometrie gelöscht.
Syntax
Parameter | Erläuterung | Datentyp |
in_rows |
Die Feature-Class, die Tabelle, die Tabellensicht oder der Layer, deren bzw. dessen Zeilen gelöscht werden. | Table View |
Codebeispiel
Das folgende Skript im Python-Fenster veranschaulicht, wie Sie die Funktion "DeleteRows" im unmittelbaren Modus verwenden.
import arcpy from arcpy import env env.workspace = "C:/data" arcpy.CopyRows_management("accident.dbf", "C:/output/accident2.dbf") arcpy.DeleteRows_management("C:/output/accident2.dbf")
Das folgende eigenständige Skript veranschaulicht, wie Sie die Funktion "DeleteRows" zum Löschen von Zeilen basierend auf einem Ausdruck verwenden.
# Name: DeleteRows_Example2.py # Description: Delete rows from a table based on an expression # Author: ESRI # Import system modules import arcpy from arcpy import env try: # Set environment settings env.workspace = "C:/data" # Set local variables inTable = "accident.dbf" outTable = "C:/output/new_accident.dbf" tempTableView = "accidentTableView" expression = arcpy.AddFieldDelimiters(tempTableView, "Measure") + " = 0" # Execute CopyRows to make a new copy of the table arcpy.CopyRows_management(inTable, outTable) # Execute MakeTableView arcpy.MakeTableView_management(outTable, tempTableView) # Execute SelectLayerByAttribute to determine which rows to delete arcpy.SelectLayerByAttribute_management(tempTableView, "NEW_SELECTION", expression) # Execute GetCount and if some features have been selected, then execute # DeleteRows to remove the selected rows. if arcpy.GetCount_managemnt(tempLayer) > 0: arcpy.DeleteRows_management(tempLayer) except Exception, e: # If an error occurred, print line number and error message import traceback, sys tb = sys.exc_info()[2] print "Line %i" % tb.tb_lineno print e.message