2013-10-22 104 views
0

我想將我的「輸出」文件夾中的很多dbf表合併到一個表中。這裏是我的代碼,但它不工作(以下錯誤顯示):如何在Python中將一列dbf表合併爲一個?

import arcpy  
import os 

arcpy.env.workspace="C:\\Users\\Desktop\\Betty\\Output" 
listTable = arcpy.ListTables() 
arcpy.Merge_management (listTable, 'C:\\Users\\Desktop\\Betty\\Output\\ppt.dbf') 
print "done!" 

回溯(最近通話最後一個): 文件「C:\用戶\ caobaijing \桌面\貝蒂\ Python的\ MergeTables .py「,第7行,在 arcpy.Merge_management(listTable,」C:\ Users \ caobaijing \ Desktop \ Betty \ Output \ ppt.dbf「) 文件」C:\ Program Files(x86)\ ArcGIS \ Desktop10「。 1 \ arcpy \ arcpy \ management.py「行3762,合併 raise e ExecuteError:無法執行。參數無效。 錯誤000732:輸入數據集:數據集* *不存在或不受支持 無法執行(合併)。

+1

請記住將來要妥善格式化您的代碼。另外,當你說「它不起作用」時,這還不夠。你需要描述*如何*它不起作用。它會給你一個錯誤?它是否產生任何輸出?你的電腦着火嗎? –

+1

當我的課程無法正常工作時,我會重新評估我的激勵結構,使用獎勵或譴責等方式來正確激勵他們。懶惰的下屬是壞老闆的標誌。當然,當我的程序引發異常或段錯誤或返回不正確的數據時,這是一個不同的故事;在這種情況下,我通過查看實際錯誤或實際和預期輸出來調試它們,而不是將其視爲「不起作用」。 – abarnert

+0

感謝您的提醒,我編輯了它,我試圖調試它。 – titi

回答

1

對於其他誰發現這一點,代碼工作得很好。必須是工作空間目錄中的路徑錯誤或沒有dbfs。

import arcpy 

arcpy.env.workspace = 'C:/junk/tables' 
listTable = arcpy.ListTables() 
arcpy.Merge_management(listTable, 'C:/junk/tables/ppt.dbf') 
print "done!" 
0

上面的答案對我來說不起作用,listTable不斷地返回一個空白的結果。使用帶有* .dbf通配符的ListFiles完成了這個任務。

我使用FileZilla的從ftp://ftp2.census.gov/geo/tiger/TIGER2014/PLACEEC/

我解壓縮成一個單一的目錄中下載了一堆壓縮的shapefile(C:/ Temp)中,使所有shape文件是一個文件夾中。 我有7-zip,所以我只是選擇了所有的zip文件,右鍵單擊 - > 7-zip - >解壓到這裏。

import arcpy 
arcpy.env.workspace = "C:/Temp" 
files = arcpy.ListFiles ("*.dbf") 
arcpy.Merge_management (files, "C:/Temp/output.dbf") 

我在excel中打開output.dbf,我把所有的數據放在一起。

相關問題