Feld löschen (Data Management)

Zusammenfassung

Mit diesem Werkzeug können Sie ein oder mehrere Felder aus einer Tabelle, einer Feature-Class, einem Feature-Layer oder einem Raster-Dataset löschen.

Verwendung

  • Felder können nicht aus schreibgeschützten Datenformaten gelöscht werden, die nicht aus ArcGIS stammen, z. B. aus VPF- und CAD-Datasets.

Parameter

BeschriftungErläuterungDatentyp
Eingabetabelle

Die Tabelle, die die zu löschenden Felder enthält. Die vorhandene Eingabetabelle wird geändert.

Mosaic Layer; Raster Layer; Table View
Feld entfernen

Die Felder, die aus der Eingabetabelle gelöscht werden sollen. Nur Felder, die nicht erforderlich sind, können gelöscht werden.

Field

Abgeleitete Ausgabe

BeschriftungErläuterungDatentyp
Eingabetabelle aktualisieren

Das aktualisierte Dataset.

Tabellensicht; Raster-Layer; Mosaik-Layer

arcpy.management.DeleteField(in_table, drop_field)
NameErläuterungDatentyp
in_table

Die Tabelle, die die zu löschenden Felder enthält. Die vorhandene Eingabetabelle wird geändert.

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

Die Felder, die aus der Eingabetabelle gelöscht werden sollen. Nur Felder, die nicht erforderlich sind, können gelöscht werden.

Field

Abgeleitete Ausgabe

NameErläuterungDatentyp
out_table

Das aktualisierte Dataset.

Tabellensicht; Raster-Layer; Mosaik-Layer

Codebeispiel

DeleteField – Beispiel (Python-Fenster)

Das folgende Skript für das Python-Fenster veranschaulicht, wie die Funktion DeleteField im unmittelbaren Modus verwendet wird:

import arcpy
arcpy.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"])
DeleteField – Beispiel 2 (eigenständiges Skript)

Das folgende eigenständige Skript veranschaulicht, wie die Funktion DeleteField verwendet wird.

# Name: DeleteField_Example2.py
# Description: Delete several fields from a feature class
  
# Import system modules
import arcpy
 
# Set environment settings
arcpy.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)
DeleteField – Beispiel 3 (eigenständiges Skript)

Verwenden Sie die Funktion DeleteField zum Löschen aller unnötigen Felder aus einer Feature-Class oder Tabelle.

# Description: Delete unnecessary fields from a feature class or table.
 
# Import system modules
import arcpy
 
# 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(inTable)
# 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)

Umgebungen

Sonderfälle

Lizenzinformationen

  • Basic: Ja
  • Standard: Ja
  • Advanced: Ja

Verwandte Themen