0

我想将我的“输出”文件夹中的许多 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!"

Traceback(最近一次调用最后):文件“C:\Users\caobaijing\Desktop\Betty\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 行,Merge raise e ExecuteError: Failed to execute。参数无效。错误 000732:输入数据集:数据集* * 不存在或不受支持无法执行(合并)。

4

2 回答 2

1

对于发现这一点的其他人,代码工作得很好。一定是路径错误或工作空间目录中没有 dbfs。

import arcpy

arcpy.env.workspace = 'C:/junk/tables'
listTable = arcpy.ListTables()
arcpy.Merge_management(listTable, 'C:/junk/tables/ppt.dbf')
print "done!"
于 2013-12-20T15:38:17.560 回答
0

上面的答案对我不起作用,listTable 不断返回空白结果。使用带有 *.dbf 通配符的 ListFiles 就可以了。

我使用 filezilla 从ftp://ftp2.census.gov/geo/tiger/TIGER2014/PLACEEC/下载了一堆压缩的 shapefile

我将它们解压缩到一个目录 (C:/Temp) 中,以便所有 shapefile 都在一个文件夹中。我有 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,我把所有的数据放在了一起。

于 2014-11-20T21:34:59.993 回答