deleteRow
Краткая информация
Курсор – это объект доступа к данным, который может использоваться как для итерации набора строк в таблице, так и для вставки новых строк в таблицу. Курсоры могут быть трех форм: поиска, вставки и обновления. Как правило, курсоры используются для считывания и обновления атрибутов.
Прежние версии:
Функции курсора и объект Cursor остается только для использования в старых скриптах. При создании или обновлении скриптов рекомендуется использовать курсоры модуля arcpy.da. Курсоры arcpy.da обеспечивают улучшенную производительность и функциональность, а также поддержку новых типов полей и токенов.
Синтаксис
deleteRow()
Методы
deleteRow(row)
Удаляет строку в базе данных. Строка, соответствующая текущему положению курсора, будет удалена.
| Имя | Объяснение | Тип данных |
|---|---|---|
|
row |
The row that will be deleted. |
Row |
insertRow(row)
Вставляет новую строку в базу данных.
| Имя | Объяснение | Тип данных |
|---|---|---|
|
row |
The row that will be inserted. |
Row |
newRow()
Создает пустой объект Row.
Возвращаемое значение
| Тип данных | Объяснение |
|---|---|
|
Row |
Новый пустой объект |
next()
Возвращает следующий объект по текущему индексу.
Возвращаемое значение
| Тип данных | Объяснение |
|---|---|
|
Object |
Следующий объект по текущему индексу. |
reset()
Возвращает текущий индекс перечисления (используемый методом next) обратно на первый элемент.
updateRow(row)
Метод updateRow может использоваться для обновления строки в текущем положении курсора обновления.
| Имя | Объяснение | Тип данных |
|---|---|---|
|
row |
Строка используется для обновления текущего положения курсора. |
Row |
Пример кода
Используйте курсор для просмотра значений полей в строках.
import arcpy
# Set the workspace
arcpy.env.workspace = "c:/base/data.gdb"
# Create the search cursor
cursor = arcpy.SearchCursor("roads", '"TYPE" <> 4')
# Iterate through the rows in the cursor
for row in cursor:
print("Name: {0}, CFCC code: {1}".format(row.NAME, row.CFCC))
del cursor, row
Используйте курсор для изменения значений полей в строках.
import arcpy
# Set the workspace
arcpy.env.workspace = "c:/base/data.gdb"
# Create the update cursor
cursor = arcpy.UpdateCursor("roads")
# Update the road buffer distance field based on road type.
# Road type is either 1,2,3,4 Distance is in meters.
for row in cursor:
row.setValue("BUFFER_DIST", row.getValue("TYPE") * 100)
cursor.updateRow(row)
# Delete cursor and row objects
del cursor, row
Используйте курсор вставки для создания строк в таблице.
import datetime
import arcpy
# Create insert cursor for table
cursor = arcpy.InsertCursor("c:/base/data.gdb/roads_maint")
# Create 25 new rows. Set default values on distance and CFCC code
for i in range(1000, 1025):
row = cursor.newRow()
row.setValue('rowid', i)
row.setValue('distance', 100)
row.setValue('CFCC', 'A10')
row.setValue('LastInsp', datetime.datetime.now())
cursor.insertRow(row)
# Delete cursor and row objects
del cursor, row