Supprimer des lignes (Data Management)
Récapitulatif
Supprime tous les enregistrements ou le sous-ensemble sélectionné des Enregistrements en entrée.
Si les Enregistrements en entrée appartiennent à une classe d'entités ou à une table, tous les enregistrements sont supprimés. Si les Enregistrements en entrée appartiennent à une couche ou à une vue tabulaire, seuls les enregistrements sélectionnés dans la couche sont supprimés.
Utilisation
-
Les Enregistrements en entrée peuvent être une table INFO ou dBASE, une table ArcSDE, un fichier ou une table de géodatabase personnelle ou une classe d'entités, un shapefile, une couche ou une vue tabulaire.
-
S'il n'y a aucune sélection dans les Enregistrements en entrée, tous les enregistrements sont supprimés.
-
Si cet outil est utilisé sur les données d'entité, l'enregistrement entier, y compris la géométrie, est supprimé.
Syntaxe
| Paramètre | Explication | Type de données |
in_rows |
Classe d'entités, couche, table ou vue tabulaire dont les enregistrements sont supprimés. | Table View |
Exemple de code
Le script de fenêtre Python ci-dessous illustre l'utilisation de la fonction DeleteRows en mode immédiat.
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")
Le script autonome suivant montre comment utiliser la fonction DeleteRows pour supprimer des lignes à partir d'une expression.
# Name: DeleteRows_Example2.py
# Description: Delete rows from a table based on an expression
# Author: ESRI
# 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 arcpy.GetCount_managemnt(tempLayer) > 0:
arcpy.DeleteRows_management(tempLayer)
except Exception, e:
# If an error occurred, print line number and error message
import traceback, sys
tb = sys.exc_info()[2]
print "Line %i" % tb.tb_lineno
print e.message