Zeilen löschen (Datenmanagement)

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 dBASE-Tabelle, eine Enterprise- oder File-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.

Parameter

BeschriftungErläuterungDatentyp
Eingabezeilen

Die Feature-Class, die Tabelle, die Tabellensicht oder der Layer, deren bzw. dessen Zeilen gelöscht werden.

Table View

Abgeleitete Ausgabe

BeschriftungErläuterungDatentyp
Aktualisierte Eingabe mit entfernten Zeilen

Die aktualisierte Eingabe.

Table View

arcpy.management.DeleteRows(in_rows)
NameErläuterungDatentyp
in_rows

Die Feature-Class, die Tabelle, die Tabellensicht oder der Layer, deren bzw. dessen Zeilen gelöscht werden.

Table View

Abgeleitete Ausgabe

NameErläuterungDatentyp
out_table

Die aktualisierte Eingabe.

Table View

Codebeispiel

DeleteRows – Beispiel 1 (Python-Fenster)

Das folgende Skript für das Python-Fenster veranschaulicht, wie die Funktion DeleteRows im unmittelbaren Modus verwendet wird.


import arcpy
arcpy.env.workspace = "C:/data"
arcpy.CopyRows_management("accident.dbf", "C:/output/accident2.dbf")
arcpy.DeleteRows_management("C:/output/accident2.dbf")
DeleteRows – Beispiel 2 (eigenständiges Skript)

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

# Set environment settings
arcpy.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(tempTableView)[0]) > 0:
    arcpy.DeleteRows_management(tempTableView)