使用python替换属性表记录信息
gdb里有很多个要素类,每个要素类都有SYSTEM_CODE和GISOBJID字段,现需要将SYSTEM_CODE 中的内容变成数字存放到GISOBJID(长整型) 这个字段中,例如:将“T3C-B1_”改成“03391”,同时去除掉“0001”前的“_”,并将更改后的值赋值给GISOBJID字段。
思路:
(1)迭代gdb中的要素类
(2)将“T3C-B1_”改成“03391”,同时去除掉“0001”前的“_”,并将更改后的值赋值给GISOBJID字段
代码:
from arcpy import env
import arcpy.da
env.workspace = r"E:\temp\china.gdb"
featureclassList = arcpy.ListFeatureClasses()
#遍历gdb中的要素类
for featureclass in featureclassList:
print(featureclass)
with arcpy.da.UpdateCursor(featureclass, ("SYSTEM_CODE", "GISOBJID")) as cursor:
cntr = 1
for row in cursor:
if row[0] [0:7]=='T3C-B1_':
row[1]='03391'+row[0][7:16]+row[0][17:]
print(row[1])
else:
row[1] = row[0]
cursor.updateRow(row)
print "Record number " + str(cntr) + " updated"
cntr = cntr + 1
print "ok!!!"