Cursor

Récapitulatif

Un curseur est un objet d'accès aux données qui peut être utilisé pour itérer sur un ensemble de lignes ou pour insérer de nouvelles lignes dans une table. Les curseurs peuvent prendre trois formes : recherche, insertion ou mise à jour. Les curseurs sont généralement utilisés pour lire et mettre à jour des attributs.

Vue d'ensemble des méthodes

MéthodeExplication
deleteRow (row)

Deletes a row in the database. The row corresponding to the current position of the cursor will be deleted.

insertRow (row)

Inserts a new row into the database.

newRow ()

Creates an empty row object.

next ()

Returns the next object at the current index.

reset ()

Sets the current enumeration index (used by the next method) back to the first element.

updateRow (row)

The updateRow method can be used to update the row at the current position of an update cursor.

Méthodes

deleteRow (row)
ParamètreExplicationType de données
row

The row to be deleted.

Row
insertRow (row)
ParamètreExplicationType de données
row

The row to be inserted.

Row
newRow ()
Valeur renvoyée
Type de donnéesExplication
Row

A new empty row object.

next ()
Valeur renvoyée
Type de donnéesExplication
Object

The next object at the current index.

reset ()
updateRow (row)
ParamètreExplicationType de données
row

The row used to update the current position of the cursor.

Row

Exemple de code

Exemple 1 de curseur

Utilisation du curseur de recherche pour afficher les valeurs des champs dans des lignes.

import arcpy
from arcpy import env

# Set the workspace
#
env.workspace = "D:/St_Johns/data.gdb"

# Create the search cursor
#
cur = arcpy.SearchCursor("roads", '"TYPE" <> 4')

# Iterate through the rows in the cursor
#
for row in cur:
    print "Name: %s,  CFCC code: %s" % (row.NAME, row.CFCC)

del cur, row
Exemple 2 de curseur

Utilisation d'un curseur de mise à jour pour changer les valeurs des champs dans les lignes.

import arcpy
from arcpy import env
# Set the workspace
#
env.workspace = "D:/St_Johns/data.gdb"

# Create the update cursor
#
cur = 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 cur:
    row.BUFFER_DIST = row.TYPE * 100
    cur.updateRow(row)

# Delete cursor and row objects
#
del cur, row
  
Exemple 3 de curseur

Utilisation d'un curseur d'insertion pour créer des lignes dans une table.

import arcpy
import time 

# Create insert cursor for table 
# 
cur = arcpy.InsertCursor("D:/St_Johns/data.gdb/roads_maint") 
x = 1000 

# Create 25 new rows. Set default values on distance and CFCC code 
# 
while x <= 1025: 
    row = cur.newRow() 
    row.rowid = x 
    row.distance = 100
    row.CFCC = "A10" 
    row.LastInsp = time.ctime() 
    cur.insertRow(row) 
    x += 1

# Delete cursor and row objects
#
del cur, row

Rubriques connexes


7/10/2012