目标:为mdb中的DGXJQX,DGXSQX,GCD,MT_R层添加一个为BM的字段,并赋值。
arcpy实现如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 |
#-*-coding:utf-8-*- import arcpy,os from arcpy import env def getfile(path): env.workspace = path try : if arcpy.Exists( "DGXJQX" ): arcpy.AddField_management( "DGXJQX" , "BM" , "TEXT" ," "," ", 6 ) arcpy.CalculateField_management( "DGXJQX" , "BM" , "730102" , "PYTHON" ) if arcpy.Exists( "DGXSQX" ): arcpy.AddField_management( "DGXSQX" , "BM" , "TEXT" ," "," ", 6 ) arcpy.CalculateField_management( "DGXSQX" , "BM" , "730101" , "PYTHON" ) if arcpy.Exists( "GCD" ): arcpy.AddField_management( "GCD" , "BM" , "TEXT" ," "," ", 6 ) arcpy.CalculateField_management( "GCD" , "BM" , "740100" , "PYTHON" ) if arcpy.Exists( "MT_R" ): arcpy.AddField_management( "MT_R" , "BM" , "TEXT" ," "," ", 6 ) arcpy.CalculateField_management( "MT_R" , "BM" , "460100" , "PYTHON" ) except : print arcpy.GetMessages() basepath = r "D:mdb187个高程值shp匹配的" for root, dir ,files in os.walk(basepath): for file in files: if file [ - 4 :] = = '.mdb' : modpath = os.path.join(root, file ) getfile(modpath) print modpath |