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

gdb里有很多个要素类,每个要素类都有SYSTEM_CODE和GISOBJID字段,现需要将SYSTEM_CODE  中的内容变成数字存放到GISOBJID(长整型)  这个字段中,例如:将“T3C-B1_”改成“03391”,同时去除掉“0001”前的“_”,并将更改后的值赋值给GISOBJID字段。

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

思路:

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

(基于ArcGIS10.6.1的)实现过程:

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