ArcGIS Desktop

  • 文档
  • 支持

  • My Profile
  • 帮助
  • Sign Out
ArcGIS Desktop

ArcGIS Online

专为贵组织打造的制图平台

ArcGIS Desktop

全面的专业性 GIS

ArcGIS Enterprise

面向企业的 GIS

ArcGIS for Developers

用于构建位置感知应用程序的工具

ArcGIS Solutions

适用于行业的免费模板地图和应用程序

ArcGIS Marketplace

获取适用于组织的应用程序和数据

  • 文档
  • 支持
Esri
  • 登录
user
  • 我的个人资料
  • 登出

ArcMap

  • 主页
  • 入门
  • 地图
  • 分析
  • 管理数据
  • 工具
  • 扩展模块

Cursor

  • 摘要
  • 方法概述
  • 方法
  • 代码示例

摘要

Cursor 是一种数据访问对象,可用于在表中迭代一组行或者向表中插入新行。游标有三种形式:搜索、插入或更新。游标通常用于读取和更新属性。

方法概述

方法说明
deleteRow (row)

删除数据库中的某一行。将删除与游标当前所在位置相对应的行。

insertRow (row)

向数据库中插入新行。

newRow ()

创建空行对象。

next ()

返回当前索引中的下一个对象。

reset ()

将当前枚举索引(由 next 方法使用)设置回第一个元素。

updateRow (row)

updateRow 方法可用于对更新游标当前所在的行进行更新。

方法

deleteRow (row)
参数说明数据类型
row

要删除的行。

Row
insertRow (row)
参数说明数据类型
row

要插入的行。

Row
newRow ()

返回值

数据类型说明
Row

新的空行对象。

next ()

返回值

数据类型说明
Object

当前索引中的下一个对象。

reset ()
updateRow (row)
参数说明数据类型
row

用于更新游标当前所在位置的行。

Row

代码示例

Cursor 示例 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
Cursor 示例 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
Cursor 示例 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

相关主题

  • Row
  • 使用游标访问数据
  • 设置游标的空间参考

ArcGIS Desktop

  • 主页
  • 文档
  • 支持

ArcGIS 平台

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

关于 Esri

  • 关于我们
  • 招贤纳士
  • 内部人员博客
  • 用户大会
  • 开发者峰会
Esri
分享您的想法。
Copyright © 2018 Esri. | 隐私政策 | 法律声明