ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Справка
  • Sign Out
ArcGIS Desktop

ArcGIS Online

Картографическая платформа вашей организации

ArcGIS Desktop

Полноценная профессиональная ГИС

ArcGIS Enterprise

ГИС предприятия

ArcGIS Developers

Инструменты для встраивания приложений с местоположениями

ArcGIS Solutions

Бесплатные шаблоны карт и приложений для отрасли

ArcGIS Marketplace

Получение приложения и данных для вашей организации.

  • Документация
  • Поддержка
Esri
  • Войти
user
  • Мой профиль
  • Выход

ArcMap

  • На главную
  • Начало работы
  • Карта
  • Анализ
  • Управление данными
  • Инструменты
  • Дополнительные модули

Удалить поле

  • Сводка
  • Использование
  • Синтаксис
  • Пример кода
  • Параметры среды
  • Информация о лицензиях

Сводка

Этот инструмент производит удаление одного или нескольких полей из класса пространственных объектов, таблицы, слоя объектов или набора растровых данных.

Использование

  • Этот инструмент может использовать любую таблицу; класс пространственных объектов многопользовательской, файловой или персональной баз геоданных; покрытие; набор растровых данных или шейп-файл.

  • Невозможно удалить поля из не нативных форматов, использующихся в ArcGIS только для чтения, например, наборов данных VPF и CAD.

  • Для параметра Удалить поле кнопка Добавить поле используется только в ModelBuilder. В ModelBuilder, если предыдущий инструмент не был запущен и не существует его производных данных, параметр Удалить поле не заполняется именами полей. Кнопка Добавить поле позволяет добавлять нужные поля, так что вы можете завершить диалоговое окно Удалить поле и продолжить построение модели.

Синтаксис

arcpy.management.DeleteField(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
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, пример 2 (автономный скрипт)

В следующем автономном скрипте показано, как использовать инструмент DeleteField.

# 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, пример 3 (автономный скрипт)

Используйте инструмент DeleteField, чтобы удалить все необходимые поля из класса пространственных объектов или таблицы.

# Name: DeleteFields_clearfields.py
# Description: Delete unrequired fields from a feature class or table.
 
# Import system modules
import arcpy
 
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 err:
    print(err.args[0])

Параметры среды

  • Текущая рабочая область

Информация о лицензиях

  • Basic: Да
  • Standard: Да
  • Advanced: Да

Связанные разделы

  • Обзор группы инструментов Поля

ArcGIS Desktop

  • На главную
  • Документация
  • Поддержка

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

Об Esri

  • О нас
  • Карьера
  • Блог Esri
  • Конференция пользователей
  • Саммит разработчиков
Esri
Расскажите нам, что вы думаете.
Copyright © 2021 Esri. | Конфиденциальность | Правовая информация