删除字段 (数据管理)

摘要

此工具可从表、要素类、要素图层或栅格数据集中删除一个或多个字段。

用法

语法

DeleteField_management (in_table, drop_field)
参数说明数据类型
in_table

包含要删除字段的表。将修改现有输入表。

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

要从输入表中删除的字段。必填字段不能删除。

Field

代码示例

DeleteField 示例(Python 窗口)

以下 Python 窗口脚本演示了如何在立即模式下使用 DeleteField 工具:

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"])
DeleteField 示例 2(独立脚本)

以下独立脚本演示了如何使用 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) 
DeleteField 示例 3(独立脚本)

使用 DeleteField 可从要素类或表中清除所有不需要的字段。

# Name: DeleteFields_clearfields.py # Description: Delete unrequired fields from a feature class or tble. # Author: ESRI   # 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, 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 

环境

相关主题

许可信息

ArcView: 是
ArcEditor: 是
ArcInfo: 是

7/10/2012