Eliminar filas (Administración de datos)
Resumen
Elimina todas o el subconjunto seleccionado de filas desde la entrada.
Si las filas de entrada pertenecen a una clase de entidad o tabla, se eliminarán todas las filas. Si las filas de entrada pertenecen a una vista de capa o tabla sin ninguna selección, se eliminarán todas las filas.
Uso
-
El parámetro Filas de entrada puede ser una tabla INFO o dBASE, ArcSDE, archivo o una vista de tabla, una capa, un shapefile, una clase de entidad o una tabla de geodatabase personal.
-
Si esta herramienta se utiliza en datos de entidad, se eliminará la fila completa, incluida la de geometría.
-
Si se introduce una capa o vista de tabla y la capa o vista de tabla no tiene una selección, todas las filas se eliminarán. Si se introduce una tabla, todas las filas se eliminarán.
Nota:Eliminar todas las filas de una tabla con un gran número de filas puede ser lento. Si su intención es eliminar todas las filas en la tabla debe considerar utilizar la herramienta Truncar tabla en su lugar. Consulte la documentación de Truncar tabla para conocer declaraciones importantes de prevención sobre su uso.
-
Al trabajar en ArcMap y usar una vista de capa o tabla con una selección como entrada, el uso de esta herramienta en una sesión de edición le permitirá deshacer la operación Eliminar filas mediante deshacer/rehacer.
Sintaxis
Parámetro | Explicación | Tipo de datos |
in_rows |
La clase de entidad, capa, tabla o vista de tabla de donde se eliminarán las filas. | Table View |
Ejemplo de código
La siguiente secuencia de comandos de la ventana de Python demuestra cómo utilizar la función DeleteRows en el modo inmediato.
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")
La siguiente secuencia de comandos independiente demuestra cómo utilizar la función DeleteRows para eliminar las filas basadas en una expresión.
# 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(tempTableView).getOutput(0)) > 0:
arcpy.DeleteRows_management(tempTableView)
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)