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')
... target_folder = 'D:\T20161202'
... symbolRef_field='SYMBOLREF'
... where_clause= u"GlobalID IS NOT NULL"
... fields = ['GLOBALID','SymbolRef']
... arcpy.env.workspace=r'Database Connections/Connection to Orcl.sde'
... workspace = arcpy.env.workspace
... editor = arcpy.da.Editor(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):
...             print sde_fc
...             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_':
...                 file_name_ext = sde_fc_shortname+'.txt'
...                 file_path = os.path.join(target_folder,file_name_ext)
...                 print file_path
...                 if os.path.exists(file_path):
...                     open_file=open(file_path,'r')
...                     editor.startEditing(False,True)
...                     editor.startOperation()
...                     updateCursor = arcpy.da.UpdateCursor(sde_fc,fields,where_clause,None)
...                     for row in updateCursor:
...                         for file_line in open_file:
...                             guid_sub = file_line[0:38]
...                             if guid_sub == row[0]:
...                                 symbolref_value = file_line[39:-1]
...                                 row[1]=symbolref_value
...                                 updateCursor.updateRow(row)
...                                 print ('Updated : GlobaldID = {0}, SymbolRef = {1}'.format(guid_sub,symbolref_value))
...                     del updateCursor
...                     editor.stopOperation()
...                     editor.stopEditing(True)
备注:未注册归档时不需要editor
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值