使用Python/arcpy批量向shp文件添加字段

版权声明:转载请注明作者(独孤尚良dugushangliang)出处:https://blog.csdn.net/dugushangliang/article/details/103874623

 

相关需要,所以要实现这个,以下内容经验确实(经过验证确定属实)。

官方文档得:

import arcpy as ap
ap.env.workspace='D:/temp'

先把shp文件所在文件路径设置为工作空间。下面三种操作,都是向ga2.shp文件中添加字段的,添加类型本处是双精度,第二个参数是字段名,第三个参数是字段类型,都可根据需要更改。

ap.AddField_management(u'ga2',u'area2010',"DOUBLE")
ap.AddField_management(u'ga2.dbf',u'area2010',"DOUBLE")
ap.AddField_management(u'ga2.shp',u'area2010',"DOUBLE")

需要注明:“年份2020年”这样的字段名称,会报错,下图中第一个是Python窗口的反馈,第二个是直接手动添加的反馈。

刚开始我以为是代码有问题,后来发现这是shp本身的机制导致的。

这个有字段名称长度限制。

限制英文10位,中文5位,一个中文相当于一个英文或数字。不过这不是绝对的,还得看版本,感谢尘无的图:

那么,如果想要比较长的字段名称怎么办?别用shp了,用gdb吧。

ap.AddField_management('cities',u'面积2000年',"DOUBLE")

那批量怎么搞?来个for循环就成了。

li=[u'字段1名称',u'字段2名称',u'字段3名称',u'字段4名称',u'字段5名称']

for i in li:
  ap.AddField_management('cities',i,"DOUBLE")

这是批量同类型的,如果不是,那就做个字典,for key,value in di.items()。

 

独孤尚良dugushangliang——著

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值