您好我正在使用样本数据。在一个名为Shapefile的文件夹中,我有3个文件夹;每个都有3个名为Hazard1.shp的形状文件,Hazard2.shp,Hazard3.shp(每个大约有3000条记录)。我试图遍历每个文件夹并从每个文件夹中提取Hazard1.shp并将其合并到名为totals的地理数据库中的要素类中。这段代码适用于数百个文件夹,但我使用的是3的样本。我运行我的代码,没有错误但是当我检查总数时只有3000条记录 - 从合并中应该有12,000条。我做错了什么?
import os, arcpy.da
print os.getcwd()
for dirname, dirnames, filenames in os.walk('.'):
for subdirname in dirnames:
current_dir = os.path.join(dirname, subdirname)
arcpy.env.workspace = current_dir
fcList = arcpy.ListFeatureClasses("Hazard1.shp")
destination = r"F:\Extraction\GeoDatabase\Total.gdb\totals"
for fc in fcList:
print fc
arcpy.Merge_management(fc,destination)
break
答案 0 :(得分:0)
你正在覆盖你的总数'每次迭代文件夹时都会显示要素类。你应该:
Append
代替Merge
(如果'总计已经存在)。答案 1 :(得分:0)
添加:
Merge = r"F:\Extraction\GeoDatabase\Total.gdb\totals_Merge"
然后你的for循环应该是:
for fc in fcList:
print fc
arcpy.Merge_management([fc,destination],Merge)
arcpy.Delete_management(destination)
arcpy.Rename_management(Merge, destination)