Eliminar campo (Gestión de datos)

Nivel de licencia:BasicStandardAdvanced

Resumen

Esta herramienta elimina uno o más campos de una tabla, una clase de entidad, una capa de entidad o un dataset ráster.

Uso

Sintaxis

DeleteField_management (in_table, drop_field)
ParámetroExplicaciónTipo de datos
in_table

La tabla que contiene los campos que se eliminarán. Se modificará la tabla de entrada existente.

Mosaic Layer; Raster Catalog Layer; Raster Layer; Table View
drop_field
[drop_field,...]

Los campos que se eliminarán de la tabla de entrada. Solo se pueden eliminar los campos no obligatorios.

Field

Ejemplo de código

Ejemplo de DeleteField (ventana de Python)

La siguiente secuencia de comandos de la ventana de Python muestra cómo utilizar la herramienta DeleteField en el modo inmediato.

import arcpy from arcpy import env env.workspace = "C:/data" arcpy.CopyFeatures_management("majorrds.shp", "C:/output/majorrds_copy.shp") arcpy.DeleteField_management("C:/output/majorrds_copy.shp",                               ["STREET_NAM", "LABEL", "CLASS"])
Ejemplo 2 de DeleteField (secuencia de comandos independiente)

La siguiente secuencia de comandos independiente muestra cómo utilizar la herramienta DeleteField:

# Name: DeleteField_Example2.py # Description: Delete several fields from a feature class # Author: ESRI    # Import system modules import arcpy from arcpy import env   # Set environment settings env.workspace = "C:/data"   # Set local variables inFeatures = "accident.dbf" outFeatureClass = "C:/output/new_accident.dbf" dropFields = ["STREET_NAM", "LABEL", "CLASS"]   # Execute CopyFeatures to make a new copy of the feature class #  Use CopyRows if you have a table arcpy.CopyFeatures_management(inFeatures, outFeatureClass)   # Execute DeleteField arcpy.DeleteField_management(outFeatureClass, dropFields)
Ejemplo 3 de DeleteField (secuencia de comandos independiente)

Utilice DeleteField para eliminar todos los campos que no sean necesarios de una tabla o clase de entidad.

# Name: DeleteFields_clearfields.py # Description: Delete unrequired fields from a feature class or tble.   # Import system modules import arcpy from arcpy import env   try:      # Get user-supplied input and output arguments     inTable = arcpy.GetParameterAsText(0)     updatedTable = arcpy.GetParameterAsText(1)       # Describe the input (need to test the dataset and data types)     desc = arcpy.Describe(updatedTable)       # Make a copy of the input (so we can mantain the original as is)     if desc.datasetType == "FeatureClass":         arcpy.CopyFeatures_management(inTable, updatedTable)     else:         arcpy.CopyRows_management(inTable, updatedTable)       # Use ListFields to get a list of field objects     fieldObjList = arcpy.ListFields(updatedTable)       # Create an empty list that will be populated with field names             fieldNameList = []       # For each field in the object list, add the field name to the     #  name list.  If the field is required, exclude it, to prevent errors     for field in fieldObjList:         if not field.required:             fieldNameList.append(field.name)       # dBASE tables require a field other than an OID and Shape.  If this is     #  the case, retain an extra field (the first one in the original list)     if desc.dataType in ["ShapeFile", "DbaseTable"]:         fieldNameList = fieldNameList[1:]       # Execute DeleteField to delete all fields in the field list.      arcpy.DeleteField_management(updatedTable, fieldNameList)            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)

Entornos

Temas relacionados

Información sobre licencias

ArcGIS for Desktop Basic: Sí
ArcGIS for Desktop Standard: Sí
ArcGIS for Desktop Advanced: Sí
5/12/2014