1、使用搜索游标查看行中的字段值。
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
2、使用更新游标更改行中的字段值。
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
3、使用插入游标在表中新建行。
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
4、删除记录
with arcpy.da.Editor(arcpy.env.workspace) as edit:
with arcpy.da.UpdateCursor(layerName, ["GB"], 'GB not in (' + layerCodes + ')') as cursor:
for row in cursor:
print("GB Code: {0}".format(row[0]))
cursor.deleteRow()