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