mdb批量导入mysql,批量合并mdb文件

环境

Arcgis 10.1

python 2.7

问题

在制图过程中,一个图幅的地图数据存放在一个mdb数据库中,当每个图幅都处理完了,需要多个图幅的数据存放到一个数据库中,如何写一个批处理程序自动合并多个mdb。需要合并点、线、面、注记、属性表以及数据集中的点、线、面、注记、属性表

脚本

import sys

#reload语句在arcgis10.1中会导致arcmap崩溃

#reload(sys)

#sys.setdefaultencoding("utf-8")

import arcpy

import string

try:

#路径用英文,别用汉字

#要批量合并的mdb数据库文件存放的路径

workspace = 'C:\input'

#目标数据库文件所在的路径,目标数据库中的文件格式和要批量处理的数据库格式一致。

outdb = 'C:\output\k51.mdb'

arcpy.env.workspace = workspace

files = arcpy.ListFiles("*.*db")

arcpy.env.workspace = outdb

fcs = arcpy.ListFeatureClasses()

fcs = fcs + arcpy.ListTables()

dss = arcpy.ListDatasets()

for File in files:

print File

for fc in fcs:

arcpy.Append_management(workspace + "\\" + File + "\\" + fc, outdb + "\\" + fc)

for ds in dss:

fcs1 = arcpy.ListFeatureClasses(feature_dataset = ds)

for fc1 in fcs1:

arcpy.Append_management(workspace + "\\" + File + "\\" + ds + "\\" + fc1, outdb + "\\" + ds + "\\" + fc1)

except arcpy.ExecuteError:

print arcpy.GetMessages()

这段代码也是会gdb格式的数据库

使用

在arcmap中打开python窗口

将workspace 和outdb 修改成跟你自己的文件所在的路径。

将代码拷贝到python窗口里,回车,程序开始执行。

参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值