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