ArcPy添加字段

#添加字段(如存在,则跳过。注意区分大小写)
file_names=(‘BOUAN’,’BOULK’,’BOUNT’,’BOUPT’,’CTRLK’,’CTRPT’,’HYDAN’,’HYDLK’,’HYDNT’,’HYDPT’,’PIPAN’,’PIPLK’,’PIPNT’,’PIPPT’,’RESAN’,’RESLK’,’RESNT’,’RESPT’,’ROAAN’,’ROALK’,’ROANT’,’ROAPT’,’TERAN’,’TERLK’,’TERNT’,’TERPT’,’VEGAN’,’VEGLK’,’VEGNT’,’VEGPT’)
… symbolRef_field=’SYMBOLREF’
… arcpy.env.workspace=r’Database Connections/Connection to Orcl.sde’
… workspace = arcpy.env.workspace
… sde_datasets = arcpy.ListDatasets()
… for sde_dataset in sde_datasets:
…     sde_ds_names = sde_dataset.split(‘.’)
…     sde_ds_user = sde_ds_names[0]
…     if sde_ds_user==’GYJCCH’:
…         for sde_fc in arcpy.ListFeatureClasses(feature_dataset=sde_dataset):
…             sde_fc_names = os.path.split(sde_fc)
…             sde_fc_fullnames = sde_fc_names[1].split(‘.’)
…             sde_fc_name = sde_fc_fullnames[1]
…             sde_fc_shortname = sde_fc_name[-5:]
…             if sde_fc_shortname in file_names and sde_fc_name[0:10]==’DLG_K_CGY_’:
…                 sde_fc_fields =[sde_fc_field.name for sde_fc_field in arcpy.ListFields(sde_fc)]
…                 if symbolRef_field not in sde_fc_fields:
…                     arcpy.AddField_management(sde_fc,symbolRef_field,”TEXT”,””,””,4000,symbolRef_field,”NULLABLE”)
…                     print (‘{0} add field {1} successfully.’.format(sde_fc,symbolRef_field))
…                 else:
…                     print (‘{0} already has field {1}.’.format(sde_fc,symbolRef_field))
file_names=('BOUAN','BOULK','BOUNT','BOUPT','CTRLK','CTRPT','HYDAN','HYDLK','HYDNT','HYDPT','PIPAN','PIPLK','PIPNT','PIPPT','RESAN','RESLK','RESNT','RESPT','ROAAN','ROALK','ROANT','ROAPT','TERAN','TERLK','TERNT','TERPT','VEGAN','VEGLK','VEGNT','VEGPT')
... symbolRef_field='SYMBOLREF'
... arcpy.env.workspace=r'Database Connections/Connection to Orcl.sde'
... workspace = arcpy.env.workspace
... sde_datasets = arcpy.ListDatasets()
... for sde_dataset in sde_datasets:
...     sde_ds_names = sde_dataset.split('.')
...     sde_ds_user = sde_ds_names[0]
...     if sde_ds_user=='GYJCCH':
...         for sde_fc in arcpy.ListFeatureClasses(feature_dataset=sde_dataset):
...             sde_fc_names = os.path.split(sde_fc)
...             sde_fc_fullnames = sde_fc_names[1].split('.')
...             sde_fc_name = sde_fc_fullnames[1]
...             sde_fc_shortname = sde_fc_name[-5:]
...             if sde_fc_shortname in file_names and sde_fc_name[0:10]=='DLG_K_CGY_':
...                 sde_fc_fields =[sde_fc_field.name for sde_fc_field in arcpy.ListFields(sde_fc)]
...                 if symbolRef_field not in sde_fc_fields:
...                     arcpy.AddField_management(sde_fc,symbolRef_field,"TEXT","","",4000,symbolRef_field,"NULLABLE")
...                     print ('{0} add field {1} successfully.'.format(sde_fc,symbolRef_field))
...                 else:
...                     print ('{0} already has field {1}.'.format(sde_fc,symbolRef_field))

转载自:https://blog.csdn.net/a_dev/article/details/54344389

You may also like...