Zeilen löschen (Data Management)
Zusammenfassung
Löscht alle Zeilen oder die ausgewählte Teilmenge der Zeilen aus der Eingabe.
Wenn die Eingabe-Zeilen von einer Feature-Class oder Tabelle stammen, werden alle Zeilen gelöscht. Wenn die Eingabe-Zeilen von einem Layer oder einer Tabellensicht ohne Auswahl stammen, werden alle Zeilen gelöscht.
Verwendung
-
Bei dem Parameter Eingabezeilen kann es sich um eine INFO- oder dBASE-Tabelle, eine ArcSDE-Datei oder persönliche Geodatabase-Tabelle oder -Feature-Class, ein Shapefile, einen Layer oder eine Tabellensicht handeln.
-
Falls dieses Werkzeug auf Feature-Daten angewendet wird, wird die gesamte Zeile einschließlich der Geometrie gelöscht.
-
Wenn ein Layer oder eine Tabellensicht eingegeben wird, der bzw. die keine Auswahl enthält, werden alle Zeilen gelöscht. Wenn die Eingabe eine Tabelle ist, werden alle Features gelöscht.
Hinweis:Das Löschen aller Zeilen aus einer Tabelle mit vielen Zeilen kann lange dauern. Wenn Sie alle Zeilen in der Tabelle löschen möchten, können Sie stattdessen das Werkzeug Tabelle kürzen verwenden. In der Dokumentation für das Werkzeug Tabelle kürzen finden Sie wichtige Warnhinweise zu dessen Verwendung.
-
Wenn Sie bei der Arbeit in ArcMap und der Verwendung eines Layers oder einer Tabellensicht mit Auswahl als Eingabe dieses Werkzeug in einer Editiersitzung verwenden, können Sie die Operation "Zeilen löschen" mithilfe von "Rückgängig"/"Wiederholen" rückgängig machen.
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
# 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 int(arcpy.GetCount_management(tempLayer).getOutput(0)) > 0:
arcpy.DeleteRows_management(tempLayer)
except Exception as e:
# If an error occurred, print line number and error message
import traceback
import sys
tb = sys.exc_info()[2]
print("Line {0}".format(tb.tb_lineno))
print(e.message)