python/arcpy提取shp文件属性表中的字段值

通过arcpy.SearchCursor函数获取shp文件属性表中的字段值。SearchCursor 用于建立从要素类或表中返回的记录的只读访问权限。将返回一组迭代元组。元组中值的顺序与 field_names 参数指定的字段顺序相符。SearchCursor函数的语法为:

SearchCursor (in_table, field_names, {where_clause}, {spatial_reference}, {explode_to_points}, {sql_clause})
参数说明数据类型
in_table要素类、图层、表或表视图String
field_names
[field_names,…]
字段名称列表(或组)。对于单个字段,可以使用一个字符串,而不使用字符串列表。

如果要访问输入表中的所有字段(栅格和 BLOB 字段除外),可以使用星号 (*) 代替字段列表。但是,为了获得较快的性能和可靠的字段顺序,建议您将字段列表限制在实际需要的字段。

不支持栅格字段。
String
where_clause用于限制所返回的记录的可选表达式。有关 WHERE 子句和 SQL 语句的详细信息,请参阅构建查询表达式。

(默认值为 None)
String
spatial_reference要素类的空间参考。可以使用 SpatialReference 对象或等效字符串来指定。

(默认值为 None)
SpatialReference
sql_clause以列表或组的形式列出的可选 SQL 前缀和后缀子句对。

SQL 前缀子句支持 None、DISTINCT 和 TOP。SQL 前缀子句支持 None、ORDER BY 和 GROUP BY。

SQL 前缀子句位于第一个位置,将被插入到 SELECT 关键字和 SELECT COLUMN LIST 之间。SQL 前缀子句最常用于 DISTINCT 或 ALL 等子句。

SQL 后缀子句位于第二个位置,将追加到 SELECT 语句的 where 子句之后。SQL 后缀子句最常用于 ORDER BY 等子句。

(默认值为 (None, None))
tuple

例如获取test.shp文件中的“FID”,“POINT_X”和“POINT_Y”三个字段的值并输出。

import arcpy

shppath = r"F:\\pythonpro\\test\\test.shp"

#提取shp文件中的'FID', 'POINT_X', 'POINT_Y'字段
shpfields = ['FID', 'POINT_X', 'POINT_Y']
shp_FID = []
shp_X = []
shp_Y = []

shprows = arcpy.SearchCursor(shppath, shpfields)
while True:    
    shprow = shprows.next()
    if not shprow:
        break
    shp_FID.append(shprow.FID)
    shp_X.append(shprow.POINT_X)
    shp_Y.append(shprow.POINT_Y)

for i in range(0, len(shp_FID)):
    print shp_FID[i], shp_X[i], shp_Y[i]

test.shp文件中的“FID”,“POINT_X”和“POINT_Y”三个字段的值:

在这里插入图片描述

输出的结果:

在这里插入图片描述

欢迎大家批评指正。

评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

A-Chin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值