|
本帖最后由 houxianyong 于 2015-6-21 22:06 编辑
有几十个图层,批量增加一个新字段,并且将该图层的名字赋值给这个新字段
整了好几天,终于用python搞定了
import arcpy
import pdb
arcpy.env.workspace="I:/xxxx.gdb"
newfieldName = "PGISLayer"
#将gdb的图层列表
fcList = arcpy.ListFeatureClasses()
#遍历每个图层
for fc in fcList:
print fc
#字段对象列表
fieldList = arcpy.ListFields(fc)
fieldnamelist=[]
#字段名字列表
for fieldob in fieldList:
fieldnamelist.append(fieldob.name)
#print fieldnamelist
#如果字段名列表没有PGISLayer,则增加字段
if fieldnamelist.count(newfieldName)==0:
arcpy.AddField_management(fc,newfieldName,"TEXT","","",50)
#计算文本或字符字段的字符串时,在对话框中,必须对字符串添加双引号("字符串"),
#而在脚本中,还必须对加双引号的字符串添加单引号('"字符串"')
#pdb.set_trace()
inTable = fc
expression = '"' + fc + '"'
print expression
arcpy.CalculateField_management(inTable,newfieldName,expression,"PYTHON_9.3")
|
|