Удалить строки (Управление данными)

Краткая информация

Удаляет все или выбранный поднабор строк из входных данных.

Будет ли удалены все строки или их поднабор - это зависит от следующего:

  • Если входными данными являются класс пространственных объектов или таблица, все строки будут удалены.
  • Если во входном слое или таблице выборки нет, будут удалены все строки.
  • Если во входном слое или таблице есть выборка, будут удалены только выбранные строки.

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

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

  • Если этот инструмент используется на векторных данных, будет удалена вся строка, включая геометрию.

  • Примечание:

    Удаление всех строк из таблицы с большим их количеством может занять много времени. Если вы желаете удалить все строки, предпочтительнее использовать инструмент Сократить таблицу. Обратитесь к документации инструмента Сократить таблицу и обратите внимание на важные замечания по его использованию.

Параметры

ПодписьОписаниеТип данных
Входные строки

Класс пространственных объектов, слой, таблица или представление таблицы, строки которых будут удалены.

Table View

Производные выходные данные

ПодписьОписаниеТип данных
Обновленные входные данные с удаленными строками

Обновленные входные данные.

Table View

arcpy.management.DeleteRows(in_rows)
ИмяОписаниеТип данных
in_rows

Класс пространственных объектов, слой, таблица или представление таблицы, строки которых будут удалены.

Table View

Производные выходные данные

ИмяОписаниеТип данных
out_table

Обновленные входные данные.

Table View

Пример кода

DeleteRows, пример 1 (окно Python)

Пример скрипта окна Python для использования функции DeleteRows в режиме прямого запуска.

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.management.CopyRows("accident.dbf", "C:/output/accident2.dbf")
arcpy.management.DeleteRows("C:/output/accident2.dbf")
DeleteRows, пример 2 (автономный скрипт)

Пример автономного скрипта Python, демонстрирующий выполнение функции DeleteRows по удалению строк на основе выражения.

# Description: Delete rows from a table based on an expression
 
# Import system modules
import arcpy

# Set environment settings
arcpy.env.workspace = "C:/data"

# Set local variables
inTable = "accident.dbf"
outTable = "C:/output/new_accident.dbf"
tempTableView = "accidentTableView"
expression = arcpy.AddFieldDelimiters(tempTableView, "Measure") + " = 0"
 
# Run CopyRows to make a new copy of the table
arcpy.management.CopyRows(inTable, outTable)

# Run MakeTableView
arcpy.management.MakeTableView(outTable, tempTableView)

# Run SelectLayerByAttribute to determine which rows to delete
arcpy.management.SelectLayerByAttribute(tempTableView, "NEW_SELECTION", 
                                        expression)

# Run GetCount and if some features have been selected, run
#  DeleteRows to remove the selected rows.
if int(arcpy.management.GetCount(tempTableView)[0]) > 0:
    arcpy.management.DeleteRows(tempTableView)