arcpy.da.SearchCursor和arcpy.SearchCursor的随记
arcpy.da.SearchCursor和arcpy.SearchCursor的区别
两者的都可以实现查询及遍历
arcpy.da.SearchCursor:
with arcpy.da.SearchCursor("GXB","*",sql_clause=(None,"Order by hbm")) as cursor:
with arcpy.da.SearchCursor("Schools.shp",("Facility","Name")) as cursor:
字段部分不能为空,全部字段填星号*,部分字段用("",""),可排序
查询的结果是一个元组,无表头,只能用row[int]进行引用,试了元组的长度len()不得行,但排序sorted()正常
from operator import itemgetter
for row in sorted(cursor,key=itemgetter(5)):
arcpy.SearchCursor:
cursor=arcpy.SearchCursor("GXB",sort_fields="hbm A")
rows = arcpy.SearchCursor("c:/data/counties.shp",
fields="NAME; STATE_NAME; POP2000",
sort_fields="STATE_NAME A; POP2000 D")
字段可空,部分可用 fields=关键字
查询结果是一张表,有相应的字段名,可用row.getValue("SFGYZ")进行引用。但要手动删除变量(锁),否则运行不可控。
arcpy.da.SearchCursor的速度更快,为了提升速度,还可设置令牌。
注:运行前最好都检查要使用的数据是否处于关闭状态,或数据库是否正常关闭,否则结果会出现偏差或数据不全。