Delete Rows (Data Management)

Summary

Deletes all or the selected subset of rows from the input.

If the input rows are from a feature class or table, all rows will be deleted. If the input rows are from a layer or table view with no selection, all rows will be deleted.

Usage

  • The Input Rows parameter can be a dBASE table, an enterprise or file geodatabase table or feature class, shapefile, layer, or table view.

  • If this tool is used on feature data, the entire row, including the geometry, will be deleted.

  • If a layer or table view is input, and the layer or table view does not have a selection, all rows will be deleted. If a table is input, all rows will be deleted.

    Note:

    Deleting all rows from a table with a large number of rows can be slow. If your intent is to delete all the rows in the table, you should consider using the Truncate Table tool instead. See the Truncate Table documentation for important cautionary statements on its use.

Syntax

arcpy.management.DeleteRows(in_rows)
ParameterExplanationData Type
in_rows

The feature class, layer, table, or table view whose rows will be deleted.

Table View

Derived Output

NameExplanationData Type
out_table

The updated input.

Table View

Code sample

DeleteRows example 1 (Python window)

The following Python window script demonstrates how to use the DeleteRows function in immediate mode.

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.CopyRows_management("accident.dbf", "C:/output/accident2.dbf")
arcpy.DeleteRows_management("C:/output/accident2.dbf")
DeleteRows example 2 (stand-alone script)

The following stand-alone script demonstrates how to use the DeleteRows function to delete rows based on an expression.

# 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)

Environments

Licensing information

  • Basic: Yes
  • Standard: Yes
  • Advanced: Yes

Related topics