我们正在尝试将列中的值从shapefile
更改为使用新值创建新字段/列。我们尝试使用搜索和更新游标以及for循环和字段计算器来实现这一点。有没有人知道如何以一种简单的方式来实现这一点?
下面是我们的脚本示例,我们尝试将列中标记为“Montane\u Chaparal”的所有项转换为新列中的新值“Dry\u Forest”
veg = "Cal_Veg.shp"
field = ["WHRNAME"]
therows=arcpy.UpdateCursor(veg, field)
for therow in therows:
if (therow.getValue(field)==" "):
therow.setValue("Montane_Chaparral","Dry_Forest")
therows.updateRow(therow)
print "Done."
我也尝试过:
veg = "Cal_Veg.shp"
with arcpy.da.SearchCursor(veg,["WHRNAME","NewVeg"]) as SCursor:
for row in SCursor:
if row[0] == "Montane Chaparral":
with arcpy.da.InsertCursor(veg,["NewVeg"]) as ICursor:
for new_row in ICursor:
NewVeg = "Dry Forest"
ICursor.insertRow(new_row)
print "done"
我绝对会推荐更现代的
da
Update Cursor用于您的脚本,原因有很多,但主要是为了速度和效率。你知道吗看起来好像您不正确地运行了一个嵌套游标,而您只需要一个更新游标。试试这个。你知道吗
相关问题 更多 >
编程相关推荐