UpdateCursor游标用于对记录的更新,当然也可以用于数据的删除。我们只要正确的读取好数据后,获取游标,然后在设置我们需要取出的字段,当然也可以设置过滤条件。最后使用updateRow函数来更新即可。现在我们来做一个测试案例。如下图所示,是我们准备好的一份测试数据。现在我们设置要获取字段TDYT,也可同时获取其他的数据。
我们在这里做这样的操作,如果TDYT这个字段里面的数据值为空,那么我们就将"乔木林地"值给赋过去。也就是填写过去。我们来看一下代码实现。
#coding:utf-8
import arcpy
shpPath=r"C:\Users\qin\Desktop\demo\test20.shp"
with arcpy.da.UpdateCursor(shpPath,["FID","TDYT"]) as cursor:
for row in cursor:
strTDYT=row[1]
if strTDYT.encode("utf-8")==' ':
row[1]="乔木林地"
cursor.updateRow(row)
print "the {} row is empty".format(row[0])
#cursor.deleteRow(row)
print "finished"
以及pycharm控制台为我们打印的信息。对应原来的数据,可以看得出,现在已经正确的更新了数据。
Connected to pydev debugger (build 182.4505.26)
the 1 row is empty
the 2 row is empty
the 4 row is empty
the 18 row is empty
the 19 row is empty
finished
Process finished with exit code 0
那么我们下面来打开属性表看看是不是这样的。从下面的数据可以看得出,数据已经成功的填写了。
更多内容,请微信扫二维码关注公众号,或者加入arcpy开发qq学习群:487352121