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 capa o vista de tabla sin 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 capa o vista de tabla con una selección como entrada, usando 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(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)