免费视频|新人指南|投诉删帖|广告合作|地信网APP下载

查看: 3396|回复: 6
收起左侧

[经验共享] 批量为图层增加字段,并且将该图层的名字赋值给该新字段

[复制链接]

4

主题

503

铜板

0

好友

技术员

Rank: 3Rank: 3

积分
76
发表于 2015-6-18 09:30 | 显示全部楼层 |阅读模式
本帖最后由 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")



2

主题

1205

铜板

3

好友

助理工程师

Rank: 5Rank: 5

积分
194
发表于 2015-6-18 21:04 | 显示全部楼层
学习一下下
回复 支持 反对

使用道具 举报

4

主题

5万

铜板

11

好友

地信学员

Rank: 12Rank: 12Rank: 12

积分
1393
发表于 2015-6-21 11:22 | 显示全部楼层
好好学习天天向上
回复 支持 反对

使用道具 举报

0

主题

2万

铜板

1

好友

资深会员

Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

积分
3632
发表于 2022-2-6 17:09 | 显示全部楼层
学习了,谢谢分享!辛苦了!!
回复 支持 反对

使用道具 举报

1

主题

1万

铜板

2

好友

黄金会员

Rank: 23Rank: 23Rank: 23Rank: 23Rank: 23Rank: 23Rank: 23

积分
5265
发表于 2022-11-27 15:41 | 显示全部楼层
感谢分享
回复

使用道具 举报

15

主题

2万

铜板

42

好友

地信院士

努力加油

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

积分
2635

爱心勋章灌水勋章荣誉会员勋章活跃勋章贡献勋章成就学员勋章

发表于 2022-12-1 17:13 | 显示全部楼层
#在这里快速回复#进来看看了
回复 支持 反对

使用道具 举报

15

主题

2万

铜板

42

好友

地信院士

努力加油

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

积分
2635

爱心勋章灌水勋章荣誉会员勋章活跃勋章贡献勋章成就学员勋章

发表于 2022-12-2 14:45 | 显示全部楼层
谢谢分享
每天都在干活
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

在线客服
快速回复 返回顶部 返回列表