版權聲明:轉載請註明作者(獨孤尚良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——著