<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Help required - Script for merging shapefiles in Geoprocessing Questions</title>
    <link>https://community.esri.com/t5/geoprocessing-questions/help-required-script-for-merging-shapefiles/m-p/735369#M24255</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Eric, I don't see an option to "execute code from the clipboard" when I right click in the interactive window. See attached .jpg...&lt;BR /&gt;&lt;BR /&gt;What version of PythonWin are you using? I have v2.5 (build 210). &lt;BR /&gt;&lt;BR /&gt;P.S. Yes I realize this topic was hijacked... Sorry.&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Chris, I should have specified...I'm using build 212. It shows up right between "copy" and "paste."&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 21 Dec 2010 16:22:28 GMT</pubDate>
    <dc:creator>EricWeber</dc:creator>
    <dc:date>2010-12-21T16:22:28Z</dc:date>
    <item>
      <title>Help required - Script for merging shapefiles</title>
      <link>https://community.esri.com/t5/geoprocessing-questions/help-required-script-for-merging-shapefiles/m-p/735347#M24233</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Does anyone have Python code lines that i could use to merge shapefiles within subdirectories? Ideally I only want to merge shapefiles with the same names (i.e. merge all shapefile1 from folder1, folder2, folder3 into a new shapefile, all shapefile2 from folder1, folder2 etc)&amp;nbsp; I have point, polygon and line features that I need to merge. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I did find some code at &lt;/SPAN&gt;&lt;A href="http://forums.esri.com/thread.asp?t=231065&amp;amp;f=1729&amp;amp;c=93"&gt;http://forums.esri.com/thread.asp?t=231065&amp;amp;f=1729&amp;amp;c=93&lt;/A&gt;&lt;SPAN&gt; but this merges all polygon or point features within the directories, and doesn't include line features.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Any help people can give me will be much appreciated as I don't understand the coding!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 Jun 2010 10:55:12 GMT</pubDate>
      <guid>https://community.esri.com/t5/geoprocessing-questions/help-required-script-for-merging-shapefiles/m-p/735347#M24233</guid>
      <dc:creator>AlisonBowyer</dc:creator>
      <dc:date>2010-06-25T10:55:12Z</dc:date>
    </item>
    <item>
      <title>Re: Help required - Script for merging shapefiles</title>
      <link>https://community.esri.com/t5/geoprocessing-questions/help-required-script-for-merging-shapefiles/m-p/735348#M24234</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;You can always just use the merge tool by hand. You would have to manually put each shapefile into the tool for each type but unless you have hundreds of files to merge that shouldnt take very long.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I took the code from that link and added the parts to merge lines, but you will have to go in a change the paths to what you need them to be.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
&lt;SPAN style="font-family:Tahoma;"&gt;#Import modules and create the geoprocessor object&lt;/SPAN&gt;&lt;SPAN style="font-family:Tahoma;"&gt;import arcgisscripting, os
gp=arcgisscripting.create()&lt;/SPAN&gt;&lt;SPAN style="font-family:Tahoma;"&gt;# Set the workspace
gp.workspace = ("C:\SAM_GIS\SAM_GIS\BIODIVERSITY\Mammals")&lt;/SPAN&gt;&lt;SPAN style="font-family:Tahoma;"&gt;# Start a blank list for Polygon files
polyList = []
# Start a blank list for Point files
pointList = []
#Start a blank list for the Line files
lineList = []&lt;/SPAN&gt;&lt;SPAN style="font-family:Tahoma;"&gt;# For each subdirectory
for dir in os.listdir(gp.workspace):
&amp;nbsp;&amp;nbsp;&amp;nbsp; if os.path.isdir(gp.workspace+"/"+dir):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Get a list of the files in each directory
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; files = os.listdir(gp.workspace+"/"+dir)&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # For each file in a given directory
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for file in files:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Get only files that end with .shp
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (file.endswith(".shp")):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print file
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Describe feature class
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; desc = gp.Describe(gp.workspace+"/"+dir+"/"+file)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type = desc.ShapeType
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #print dir+"/"+file + " type is: " + type&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if type == "Polygon":
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print dir+"/"+file + " is Polygon"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; polyPath = polyList.append(dir+"/"+file)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if type == "Point":
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print dir+"/"+file + " is Point"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pointPath = pointList.append(dir+"/"+file)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if type == "Line":
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print dir+"/"+file + " is Line"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; linePath = lineList.append(dir+"/"+file)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-family:Tahoma;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Hard-code the output merged shapefile names
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; polyshapefile = "Mergedpoly.shp"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pointshapefile = "Mergedpoint.shp"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lineshapefile = "Mergedline.shp"&lt;/SPAN&gt;&lt;SPAN style="font-family:Tahoma;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Given a list of shapefiles, separate each by a ";"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # and put quotes around the whole thing
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; def polyshpList(polyPath):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return '"%s"' % ';'.join(polyList)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; def pointshpList(pointPath):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return '"%s"' % ';'.join(pointList)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; def lineshpList(linePath):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return'"%s"' % ";".join(lineList)&lt;/SPAN&gt;&lt;SPAN style="font-family:Tahoma;"&gt;# Set the variable to the newly formatted list of shapefiles&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
polymergedlist = polyshpList(polyPath)
pointmergedlist = pointshpList(pointPath)
linemerged list = lineshpList(linePath&lt;/SPAN&gt;&lt;SPAN style="font-family:Tahoma;"&gt;# Polygons&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
try:
&amp;nbsp;&amp;nbsp;&amp;nbsp; print "\nMerging " + polymergedlist + " to get " + polyshapefile + "...\n"&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; gp.merge_management(polymergedlist, polyshapefile)
&amp;nbsp;&amp;nbsp;&amp;nbsp; gp.clip_analysis("Mergedpoly.shp", "C:\SAM_GIS\SAM_GIS\BIODIVERSITY\CANADAOUTLINEMAP.shp", gp.workspace, ".000001")
&amp;nbsp;&amp;nbsp;&amp;nbsp; print gp.getMessages()&amp;nbsp;&amp;nbsp;&amp;nbsp; 
except:
&amp;nbsp;&amp;nbsp;&amp;nbsp; print gp.getMessages()
&amp;nbsp;&amp;nbsp;&amp;nbsp; print "\n *** ERROR: Shapefiles (Polygon) failed to merge *** \n"&lt;/SPAN&gt;&lt;SPAN style="font-family:Tahoma;"&gt;# Points
try:
&amp;nbsp;&amp;nbsp;&amp;nbsp; print "\nMerging " + pointmergedlist + " to get " + pointshapefile + "...\n"&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; gp.merge_management(pointmergedlist, pointshapefile)
&amp;nbsp;&amp;nbsp;&amp;nbsp; gp.clip_analysis("Mergedpoint.shp", "C:\SAM_GIS\SAM_GIS\BIODIVERSITY\CANADAOUTLINEMAP.shp", gp.workspace, ".000001")
&amp;nbsp;&amp;nbsp;&amp;nbsp; print gp.getMessages()&amp;nbsp;&amp;nbsp;&amp;nbsp; 
except:
&amp;nbsp;&amp;nbsp;&amp;nbsp; print gp.getMessages()
&amp;nbsp;&amp;nbsp;&amp;nbsp; print "\n *** ERROR: Shapefiles (Point) failed to merge *** \n"&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-family:Tahoma;"&gt;# Lines
try:
&amp;nbsp;&amp;nbsp;&amp;nbsp; print "\nMerging " + linemergedlist + " to get " + lineshapefile + "...\n"&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; gp.merge_management(linemergedlist, lineshapefile)
&amp;nbsp;&amp;nbsp;&amp;nbsp; gp.clip_analysis("Mergedline.shp", "C:\SAM_GIS\SAM_GIS\BIODIVERSITY\CANADAOUTLINEMAP.shp", gp.workspace, ".000001")
&amp;nbsp;&amp;nbsp;&amp;nbsp; print gp.getMessages()&amp;nbsp;&amp;nbsp;&amp;nbsp; 
except:
&amp;nbsp;&amp;nbsp;&amp;nbsp; print gp.getMessages()
&amp;nbsp;&amp;nbsp;&amp;nbsp; print "\n *** ERROR: Shapefiles (Line) failed to merge *** \n"&amp;nbsp; 
print "\nDone."&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 07:21:09 GMT</pubDate>
      <guid>https://community.esri.com/t5/geoprocessing-questions/help-required-script-for-merging-shapefiles/m-p/735348#M24234</guid>
      <dc:creator>ChrisMathers</dc:creator>
      <dc:date>2021-12-12T07:21:09Z</dc:date>
    </item>
    <item>
      <title>Re: Help required - Script for merging shapefiles</title>
      <link>https://community.esri.com/t5/geoprocessing-questions/help-required-script-for-merging-shapefiles/m-p/735349#M24235</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;HI &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Iam trying to do a very similar thing ive got a few hundred-shape files in different sub directories but I want to merge the entire shape file with the same thing: &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;for example I have folders 1 to 20 that contains shapfiles a to z, I want to combine all shape file called a from folders 1 to 20.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Can this be done?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 01 Nov 2010 01:06:11 GMT</pubDate>
      <guid>https://community.esri.com/t5/geoprocessing-questions/help-required-script-for-merging-shapefiles/m-p/735349#M24235</guid>
      <dc:creator>charlieLatchford</dc:creator>
      <dc:date>2010-11-01T01:06:11Z</dc:date>
    </item>
    <item>
      <title>Re: Help required - Script for merging shapefiles</title>
      <link>https://community.esri.com/t5/geoprocessing-questions/help-required-script-for-merging-shapefiles/m-p/735350#M24236</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;This is something I've done hundreds of times...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The idea is to do it in two steps:&lt;/SPAN&gt;&lt;BR /&gt;&lt;UL&gt;&lt;LI&gt;First collect all shape files&lt;/LI&gt;&lt;LI&gt;Then iterate over the file names and do the merge&lt;/LI&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/UL&gt;&lt;SPAN&gt;Following is a very simple code snippet doing this:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
import collections
import os

import arcpy

shape_files = collections.defaultdict(list)

##root = arcpy.GetParameterAsText(0)
##dest_path = arcpy.GetParameterAsText(1)

root = 'c:/geodata'
dest_path = 'c:/tmp'

for r, d, f in os.walk(root):
&amp;nbsp;&amp;nbsp;&amp;nbsp; shapes = filter(lambda x: x.lower().endswith('.shp'), f)
&amp;nbsp;&amp;nbsp;&amp;nbsp; for shape_file in shapes:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shape_files[shape_file].append(os.path.join(r, shape_file))

for file_name, file_list in shape_files.iteritems():
##&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.Merge_management(file_list, os.path.join(dest_path, file_name))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print '%s: %r' % (file_name, file_list)
&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 07:21:12 GMT</pubDate>
      <guid>https://community.esri.com/t5/geoprocessing-questions/help-required-script-for-merging-shapefiles/m-p/735350#M24236</guid>
      <dc:creator>NiklasNorrthon</dc:creator>
      <dc:date>2021-12-12T07:21:12Z</dc:date>
    </item>
    <item>
      <title>Re: Help required - Script for merging shapefiles</title>
      <link>https://community.esri.com/t5/geoprocessing-questions/help-required-script-for-merging-shapefiles/m-p/735351#M24237</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Or using a dictionary-based approach:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;import os, arcpy
rootDir = r"D:\csny490\temp"
meregString = ""
shpDict = {}
for dirPath, dirNames, fileNames in os.walk(rootDir, topdown = False):
&amp;nbsp;&amp;nbsp;&amp;nbsp; for fileName in fileNames:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if fileName.endswith(".shp"):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if fileName not in shpDict:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shpDict[fileName] = [dirPath]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shpDict[fileName].append(dirPath)
for shp in shpDict:
&amp;nbsp;&amp;nbsp;&amp;nbsp; for path in shpDict[shp]:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mergeString = mergeString + path + "\\" + shp + ";"
arcpy.Merge_management(mergeString[:-1], r"D:\csny490\trythis.gdb\merge_output")&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 07:21:14 GMT</pubDate>
      <guid>https://community.esri.com/t5/geoprocessing-questions/help-required-script-for-merging-shapefiles/m-p/735351#M24237</guid>
      <dc:creator>ChrisSnyder</dc:creator>
      <dc:date>2021-12-12T07:21:14Z</dc:date>
    </item>
    <item>
      <title>Re: Help required - Script for merging shapefiles</title>
      <link>https://community.esri.com/t5/geoprocessing-questions/help-required-script-for-merging-shapefiles/m-p/735352#M24238</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks that has helped, iam new to using Pthyon scrpit do i just copy the srcipt into the command line or iam i doing it all wrong?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;import os, arcpy&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;rootDir = r"C:\gis\Linz topo map\LINZ shape files"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;meregString = ""&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;shpDict = {}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;for dirPath, dirNames, fileNames in os.walk(rootDir, topdown = False):&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for fileName in fileNames:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if fileName.endswith(".shp"):&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if fileName not in shpDict:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shpDict[fileName] = [dirPath]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shpDict[fileName].append(dirPath)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;for shp in shpDict:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for path in shpDict[shp]:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mergeString = mergeString + path + "\\" + shp + ";"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;arcpy.Merge_management(mergeString[:-1], r"C:\gis\Linz topo map\LINZ TOPO maps.gdb\merge_output")&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;if i am it coming up with a error see attached jpeg&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 01 Nov 2010 18:59:00 GMT</pubDate>
      <guid>https://community.esri.com/t5/geoprocessing-questions/help-required-script-for-merging-shapefiles/m-p/735352#M24238</guid>
      <dc:creator>charlieLatchford</dc:creator>
      <dc:date>2010-11-01T18:59:00Z</dc:date>
    </item>
    <item>
      <title>Re: Help required - Script for merging shapefiles</title>
      <link>https://community.esri.com/t5/geoprocessing-questions/help-required-script-for-merging-shapefiles/m-p/735353#M24239</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Well, sort of:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;1) You can copy and paste the code all at once into the Python window in ArcMap&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;2) For Python.exe and PythonWin you either need to:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; A. Copy, paste, and execute each line of code (one at a time)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; B. Save the code as a .py file and then run the .py file via python.exe or PythonWin.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;BTW: Does anyone know of a Python IDE (or a method in PythonWin) that lets you execute blocks of code all at once (copy and paste a bunch of code into an "Interactive Window" and then execute it)???? I found you can do this in the Python Window in ArcMap, but as of yet I can't find a way to do it in PythonWin.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 01 Nov 2010 19:33:52 GMT</pubDate>
      <guid>https://community.esri.com/t5/geoprocessing-questions/help-required-script-for-merging-shapefiles/m-p/735353#M24239</guid>
      <dc:creator>ChrisSnyder</dc:creator>
      <dc:date>2010-11-01T19:33:52Z</dc:date>
    </item>
    <item>
      <title>Re: Help required - Script for merging shapefiles</title>
      <link>https://community.esri.com/t5/geoprocessing-questions/help-required-script-for-merging-shapefiles/m-p/735354#M24240</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;&lt;BR /&gt;BTW: Does anyone know of a Python IDE (or a method in PythonWin) that lets you execute blocks of code all at once (copy and paste a bunch of code into an "Interactive Window" and then execute it)???? I found you can do this in the Python Window in ArcMap, but as of yet I can't find a way to do it in PythonWin.&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;That would be nice, wouldn't it.&amp;nbsp; I never heard of anything like that. I spend more time commenting and uncommenting code and then running it.&amp;nbsp; Either that or copying the code block into a new "temp" script and running as a new script.&amp;nbsp; Neither option is great.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 01 Nov 2010 19:59:26 GMT</pubDate>
      <guid>https://community.esri.com/t5/geoprocessing-questions/help-required-script-for-merging-shapefiles/m-p/735354#M24240</guid>
      <dc:creator>RDHarles</dc:creator>
      <dc:date>2010-11-01T19:59:26Z</dc:date>
    </item>
    <item>
      <title>Re: Help required - Script for merging shapefiles</title>
      <link>https://community.esri.com/t5/geoprocessing-questions/help-required-script-for-merging-shapefiles/m-p/735355#M24241</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;That would be nice, wouldn't it.&amp;nbsp; I never heard of anything like that. I spend more time commenting and uncommenting code and then running it.&amp;nbsp; Either that or copying the code block into a new "temp" script and running as a new script.&amp;nbsp; Neither option is great.&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The python-mode in emacs can do that. But then you'll have to learn to love emacs first...&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 02 Nov 2010 06:15:01 GMT</pubDate>
      <guid>https://community.esri.com/t5/geoprocessing-questions/help-required-script-for-merging-shapefiles/m-p/735355#M24241</guid>
      <dc:creator>NiklasNorrthon</dc:creator>
      <dc:date>2010-11-02T06:15:01Z</dc:date>
    </item>
    <item>
      <title>Re: Help required - Script for merging shapefiles</title>
      <link>https://community.esri.com/t5/geoprocessing-questions/help-required-script-for-merging-shapefiles/m-p/735356#M24242</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;@ R.D.: Ya, that's pretty much how I do my debugging too in PythonWin. Kind of a pain! In that way, I have a love/hate with PythonWin...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;@Niklas:I will check that out... I actually have used emacs for (Unix) AML quite a while back! So there is a Python interpreter "built in" then?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 02 Nov 2010 16:35:26 GMT</pubDate>
      <guid>https://community.esri.com/t5/geoprocessing-questions/help-required-script-for-merging-shapefiles/m-p/735356#M24242</guid>
      <dc:creator>ChrisSnyder</dc:creator>
      <dc:date>2010-11-02T16:35:26Z</dc:date>
    </item>
    <item>
      <title>Re: Help required - Script for merging shapefiles</title>
      <link>https://community.esri.com/t5/geoprocessing-questions/help-required-script-for-merging-shapefiles/m-p/735357#M24243</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I haven't used emacs for python editing for a while, and I think I had some trouble getting it up and running. But tested it now and it seems to just work, but it might be due to some previous emacs lisp hacking.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Got a deprication waring, but that was all.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Anyway Meta-x python-mode to to start python-mode&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Select Python - Start interpreter from the menu&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;After that you can do eval-buffer, eval-region and lots of other fun stuff.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 02 Nov 2010 22:36:12 GMT</pubDate>
      <guid>https://community.esri.com/t5/geoprocessing-questions/help-required-script-for-merging-shapefiles/m-p/735357#M24243</guid>
      <dc:creator>NiklasNorrthon</dc:creator>
      <dc:date>2010-11-02T22:36:12Z</dc:date>
    </item>
    <item>
      <title>Re: Help required - Script for merging shapefiles</title>
      <link>https://community.esri.com/t5/geoprocessing-questions/help-required-script-for-merging-shapefiles/m-p/735358#M24244</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;A href="http://code.google.com/p/pyscripter/"&gt;PyScripter&lt;/A&gt;&lt;SPAN&gt; has an "execute selection" command, as well as a regexp tester and unit test wizard. Very handy.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Also &lt;/SPAN&gt;&lt;A href="http://winpdb.org/"&gt;winpdb&lt;/A&gt;&lt;SPAN&gt; is a GUI and console based debugging environment that lets you break into running code as well as execute commands and evaluate expressions within the current context, also highly recommended.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 03 Nov 2010 15:12:20 GMT</pubDate>
      <guid>https://community.esri.com/t5/geoprocessing-questions/help-required-script-for-merging-shapefiles/m-p/735358#M24244</guid>
      <dc:creator>LoganPugh</dc:creator>
      <dc:date>2010-11-03T15:12:20Z</dc:date>
    </item>
    <item>
      <title>Re: Help required - Script for merging shapefiles</title>
      <link>https://community.esri.com/t5/geoprocessing-questions/help-required-script-for-merging-shapefiles/m-p/735359#M24245</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;BTW: Does anyone know of a Python IDE (or a method in PythonWin) that lets you execute blocks of code all at once (copy and paste a bunch of code into an "Interactive Window" and then execute it)???? I found you can do this in the Python Window in ArcMap, but as of yet I can't find a way to do it in PythonWin.&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;In pythonwin, you can copy a block of code from a script, then right click in the interactive window, and select "execute code from the clipboard." It doesn't paste the code; it just runs. So if the block of code doesn't have any output (print statements), it will run, but nothing will appear to happen in the interactive window. It won't allow any "unexpected indents" so you'll have to dedent the block of code before copying if it's inside a loop.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Dec 2010 17:58:21 GMT</pubDate>
      <guid>https://community.esri.com/t5/geoprocessing-questions/help-required-script-for-merging-shapefiles/m-p/735359#M24245</guid>
      <dc:creator>EricWeber</dc:creator>
      <dc:date>2010-12-07T17:58:21Z</dc:date>
    </item>
    <item>
      <title>Re: Help required - Script for merging shapefiles</title>
      <link>https://community.esri.com/t5/geoprocessing-questions/help-required-script-for-merging-shapefiles/m-p/735360#M24246</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi again, i must be missing something when working with this script&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;i have around 250 shape file with the same name "contour" stored in different folders 1 to 250 store under C:\LINZ Topo Data\Topo50 Vector data - Shape\South island and have created a destation path called C:\LINZ Topo Data\Topo50 Vector data - Shape\Merge files. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;But using the above code.....&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;FONT color="&amp;quot;darkorange&amp;quot;"&gt;import collections&lt;/FONT&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import os&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;import arcpy&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;shape_files = collections.defaultdict(list)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;##root = arcpy.GetParameterAsText(0)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;##dest_path = arcpy.GetParameterAsText(1)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;root = 'C:\LINZ Topo Data\Topo50 Vector data - Shape\South island'&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;dest_path = 'C:\LINZ Topo Data\Topo50 Vector data - Shape\Merge files'&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;for r, d, f in os.walk(root):&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; shapes = filter(lambda x: x.lower().endswith('contour.shp'), f)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for shape_file in shapes:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shape_files[shape_file].append(os.path.join(r, shape_file))&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;for file_name, file_list in shape_files.iteritems():&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;##&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.Merge_management(file_list, os.path.join(dest_path, file_name))&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print '%s: %r' % (file_name, file_list)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;But does not seam to work any ideas?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Dec 2010 23:47:11 GMT</pubDate>
      <guid>https://community.esri.com/t5/geoprocessing-questions/help-required-script-for-merging-shapefiles/m-p/735360#M24246</guid>
      <dc:creator>charlieLatchford</dc:creator>
      <dc:date>2010-12-07T23:47:11Z</dc:date>
    </item>
    <item>
      <title>Re: Help required - Script for merging shapefiles</title>
      <link>https://community.esri.com/t5/geoprocessing-questions/help-required-script-for-merging-shapefiles/m-p/735361#M24247</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;"Does not seem to work..." is not very descriptive... One idea would be to debug the code to see why it isn't working, and then either fix it or ask again with a little more information about the problem.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 08 Dec 2010 06:04:53 GMT</pubDate>
      <guid>https://community.esri.com/t5/geoprocessing-questions/help-required-script-for-merging-shapefiles/m-p/735361#M24247</guid>
      <dc:creator>NiklasNorrthon</dc:creator>
      <dc:date>2010-12-08T06:04:53Z</dc:date>
    </item>
    <item>
      <title>Re: Help required - Script for merging shapefiles</title>
      <link>https://community.esri.com/t5/geoprocessing-questions/help-required-script-for-merging-shapefiles/m-p/735362#M24248</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Iam using the python window within version 10 of arc gis desktop. i have pasted the script above, into the ptyhon window, this then goes and finds the 250 plus shapefiles called 'contours' within each folder( each line turns a light gray colour) but does not create the megered file. i believe the problem is that ive given python the shapefile root location's and a new subfolder but not the name of the created merged shapefile. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;What is the code for naming the new file?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Dec 2010 05:12:35 GMT</pubDate>
      <guid>https://community.esri.com/t5/geoprocessing-questions/help-required-script-for-merging-shapefiles/m-p/735362#M24248</guid>
      <dc:creator>charlieLatchford</dc:creator>
      <dc:date>2010-12-10T05:12:35Z</dc:date>
    </item>
    <item>
      <title>Re: Help required - Script for merging shapefiles</title>
      <link>https://community.esri.com/t5/geoprocessing-questions/help-required-script-for-merging-shapefiles/m-p/735363#M24249</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I've copied and modified the script you have posted here, and it fails at gp. in the beginning :confused:, telling me a SyntaxError:invalid syntax &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Fun times! &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;# Import modules and create the geoprocessor object&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;try:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 9.2 and beyond&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; import arcgisscripting, sys, os&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; gp = arcgisscripting.create()&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;# Set the product&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;gp.SetProduct(�??ArcEditor�?�) &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;# Set the workspace&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;gp.workspace = ("W:\GPS\Trimble_Jobs\Trimble_Geomatics_Office\Projects\")&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;# Start a blank list for Point files&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;pointList = []&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;# For each subdirectory&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;for dir in os.listdir(gp.workspace):&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if os.path.isdir(gp.workspace+"/"+dir):&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Get a list of the files in each directory&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; files = os.listdir(gp.workspace+"/"+dir)&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # For each file in a given directory&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for file in files:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Get only files that end with .shp&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (file.endswith(".shp")):&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print file&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Describe feature class&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; desc = gp.Describe(gp.workspace+"/"+dir+"/"+file)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type = desc.ShapeType&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #print dir+"/"+file + " type is: " + type&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if type == "Point":&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print dir+"/"+file + " is Point"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pointPath = pointList.append(dir+"/"+file)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Hard-code the output merged shapefile names&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pointshapefile = "Mergedpoint.shp"&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Given a list of shapefiles, separate each by a ";"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # and put quotes around the whole thing&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; def pointshpList(pointPath):&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return '"%s"' % ';'.join(pointList)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;# Set the variable to the newly formatted list of shapefiles&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;pointmergedlist = pointshpList(pointPath)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;# Points&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;try:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "\nMerging " + pointmergedlist + " to get " + pointshapefile + "...\n"&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; gp.merge_management(pointmergedlist, pointshapefile)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print gp.getMessages()&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;except:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print gp.getMessages()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "\n *** ERROR: Shapefiles (Point) failed to merge *** \n"&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;print "\nDone."&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Dec 2010 10:46:07 GMT</pubDate>
      <guid>https://community.esri.com/t5/geoprocessing-questions/help-required-script-for-merging-shapefiles/m-p/735363#M24249</guid>
      <dc:creator>KristinaGrace</dc:creator>
      <dc:date>2010-12-16T10:46:07Z</dc:date>
    </item>
    <item>
      <title>Re: Help required - Script for merging shapefiles</title>
      <link>https://community.esri.com/t5/geoprocessing-questions/help-required-script-for-merging-shapefiles/m-p/735364#M24250</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I wanted this exact tool, but wanted to avoid scripting if possible. I found a way to do it that was efficient, although not completely automatic. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;This method assumes that the shapefiles to merge are identical in name, and that you can create a simple model in Modelbuilder.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;1. Open ArcCatalog and browse to the parent folder containing the subfolders containing your shapefiles. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;2. Right click the parent folder and select New Search and select the Shapefile option. Leave the Name box as it is to find all the shapefiles in the subfolders.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;3. Click Find Now on the right of the box. The main window of ArcCatalog should populate with shortcuts to the shapefiles. Once the search has completed you can click on the Name bar at the top of the list to order by name. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;4. Open Modelbuilder and drag the 'Merge' tool (Data Management - General) into it. Right click the Merge box and make variable from parameter Input Datasets. The Input Datasets variable should appear.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;5. Go back to the main ArcCatalog window and multiple select all the shapefiles with the same name (easy now they are ordered) and drag them onto the Input Datasets variable in the Model.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;6. Double click the Merge tool in the Model and edit the outputs as required.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;7. Multiple copies of the tool can be run in the same Model, so if you have more than one set of shapefiles to merge then you can do them here.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;8. Run the model and you should have the outputs.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I just performed this on 10 sets of 100 shapefiles (1000 total) and it worked no problem.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;James&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Dec 2010 13:04:24 GMT</pubDate>
      <guid>https://community.esri.com/t5/geoprocessing-questions/help-required-script-for-merging-shapefiles/m-p/735364#M24250</guid>
      <dc:creator>JamesNunn</dc:creator>
      <dc:date>2010-12-16T13:04:24Z</dc:date>
    </item>
    <item>
      <title>Re: Help required - Script for merging shapefiles</title>
      <link>https://community.esri.com/t5/geoprocessing-questions/help-required-script-for-merging-shapefiles/m-p/735365#M24251</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Certainly at 10 this is do-able from MB with the new iterators but you would need to run for points, then lines and then polys, but whats the fun in that? You wouldnt get to debug!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Dec 2010 14:48:58 GMT</pubDate>
      <guid>https://community.esri.com/t5/geoprocessing-questions/help-required-script-for-merging-shapefiles/m-p/735365#M24251</guid>
      <dc:creator>ChrisMathers</dc:creator>
      <dc:date>2010-12-16T14:48:58Z</dc:date>
    </item>
    <item>
      <title>Re: Help required - Script for merging shapefiles</title>
      <link>https://community.esri.com/t5/geoprocessing-questions/help-required-script-for-merging-shapefiles/m-p/735366#M24252</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;thanks Kristya &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Saldy iam now getting an error on Line 4:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;'Parsing error &amp;lt;type 'exceptions.SyntaxError'&amp;gt;: invalid syntax (line 4)'&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;i take this to be ' gp.workspace = ("C:\LINZ_Topo_Data\South_island\")' where all my subfolder are stored...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;where you get the same problem?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;to Jamesnunn&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Sorry version don't seam to have 'New Search' as an option when selecting a parent folder&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 17 Dec 2010 02:01:30 GMT</pubDate>
      <guid>https://community.esri.com/t5/geoprocessing-questions/help-required-script-for-merging-shapefiles/m-p/735366#M24252</guid>
      <dc:creator>charlieLatchford</dc:creator>
      <dc:date>2010-12-17T02:01:30Z</dc:date>
    </item>
  </channel>
</rss>

