Hi Ryan,I don't know anything about Spatial Analyst, but I did notice that you remake your feature layer every row of the CSV - which isn't necessary as you have defined your Select by Attributes to make a new selection. I have taken your code and tidied it out a bit; you didn't use the workspace so I deleted those lines, got rid of the try...except stuff and added an explicit delete if your output already exists, rather than using Overwrite Output (which, for some reason, may be allowing it to mess with your input file). Here is the code, let me know if you have any more success with it, or if you have any questions about the changes I made:import csv, arcpy
from arcpy.sa import *
arcpy.CheckOutExtension("Spatial")
# Make the feature layer (once)
arcpy.MakeFeatureLayer_management('E:/Weathering_GIS/Working.gdb/USGS_Points', 'Shedpoints')
# open CSV and iterate over rows
f = open('E:/Weathering_GIS/Sheds.csv')
sheds = csv.reader(f)
for row in sheds:
# generate where clause, then make selection
where = "GageCode = %s" % int(row[0])
arcpy.SelectLayerByAttribute_management("Shedpoints","NEW_SELECTION",where)
# snap pour points and generate output path
snapped = SnapPourPoint("Shedpoints","FAC_NORTHEAST",0.0001)
out = "X%s" % str(row[0])
# if output already exists, delete it, then save
if arcpy.Exists("E:/Weathering_GIS/Working.gdb/"+out):
arcpy.Delete_management("E:/Weathering_GIS/Working.gdb/"+out)
snapped.save("E:/Weathering_GIS/Working.gdb/"+out)
# close open files and delete variables
f.close()
del sheds, snapped, out, where