2013-03-12 22 views
0

我喜歡將位於訪問數據庫中的表(100+)轉換爲地理數據庫表,對它們進行排序並同時刪除每個表中不必要的字段。我想我使用Sort_management方法來轉換和排序表,然後DeleteFieldd_management方法刪除字段。這裏是我寫的代碼,Python:使用ArcPy:對訪問表進行排序並轉換爲地理數據庫表

import arcpy 

from arcpy import env 

env.workspace = "E:\Database Project\ACS Estimate 2011\ACS 2011 Tables.mdb" 

tableList = arcpy.ListTables() 

for table in tableList: 

    out_dataset = "E:\Database Project\ACS Estimate 2011\Data\To Database\Seq Tables.gdb" 

    #Process: Sort 
    arcpy.Sort_management(table, out_dataset, "GEOID ASCENDING", "UR") 

    #Process: Delete Field 
    arcpy.DeleteField_management(out_dataset, "FILEID;FILETYPE;STUSAB;CHARITER") 

我收到以下錯誤消息,

enter image description here

任何幫助是極大的讚賞。先謝謝你。

回答

0

嘗試進入循環前設置out_dataset(後立即tableList = arcpy.ListTables(),看看它是否獲得過「已經存在」的錯誤。

0

跟隨上@Evan,你可以刪除表,如果它預先存在。

if arcpy.Exists(out_dataset): 
    arcpy.Delete_management(out_dataset) 

另外,如果我知道我會被一遍又一遍地重新創建一個表,我不想寫這樣的檢查到我的代碼,我使用:

arcpy.env.overwriteOutput=True 

如果這個表類型沒有真正被arcpy識別,那麼你可以做一個類似的「if-exists」事情,只是python的os模塊或者其他的東西。

相關問題