使用python替换属性表记录信息

2021-01-06 10:10发布

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!!!"



作者:gislaozhang

链接:https://blog.csdn.net/gislaozhang/article/details/89357653

来源:CSDN
著作权归作者所有,转载请联系作者获得授权,切勿私自转载。