I need to truncate file geodatabase tables (1 or all) with Python. What is the code for that?
AFAIK, you can use Delete Rows method in arcpy. from Arcgis Resource Center:
Delete Rows (Data Management)
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.
consider this caution:
If run against a layer or table view that does not have a selection, the operation cannot be undone using undo/redo.
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")
i hope it helps you...
As of 10.1, Esri has added Truncate Table (Data Management). It will remove all records from a table, regardless of a table view selection, and does not support versioned tables. It is much faster, though.
Esri's sample code for truncating all tables in a geodatabase:
# Set the workspace. arcpy.env.workspace = "C:/work/vancouver.gdb" # Get a list of all the tables. tableList = arcpy.ListTables() # Loop through the list and run truncate for table in tableList: arcpy.TruncateTable_management(table)