1、需求描述:
1、实例shp文件批量导入SDE数据库
2、如果数据库中存储同名表,执行追加操作;否则执行删除操作
2、功能实现
import arcpy
import os
#sde连接
sdeConnStr = 'Database Connections/sde.sde'
#追加的文件所在目录
appendShpsPath = r'D:\grid\shp'
#追加方法的参数
schemaType = 'NO_TEST '
fieldMappings = ''
subtype = ''
if name == '__main__':
try:
arcpy.env.workspace = sdeConnStr
files = os.listdir(appendShpsPath)
#遍历文件
i = 0
for f in files:
#追加shp文件到SDE数据库中
if(f.endswith('.shp')):
fp = os.path.join(appendShpsPath,f) #要追加的shp文件路径
target = ''
#执行追加
if(target != ''):
arcpy.Append_management([fp], target, schemaType, fieldMappings, subtype)
print 'NO.%d:append %s Succeeded!'
#执行导入
else:
#待写
arcpy.FeatureClassToFeatureClass_conversion(fp, sdeConnStr, f.split('.')[0])
print 'NO.%d:import %s Succeeded!'
i += 1
except:
print arcpy.GetMessages()