import arcpy, os
path = r"H:\Plans\GIS Plans\2003"
f = open('BrokenMXD2003.csv', 'w')
f.write("Type, File Path, Layer, Broken Path" + "\n")
for root, dirs, files in os.walk(path):
for fileName in files:
basename, extension = os.path.splitext(fileName)
if extension == ".mxd":
fullPath = os.path.join(root, fileName)
mxd = arcpy.mapping.MapDocument(fullPath)
brknMXD = arcpy.mapping.ListBrokenDataSources(mxd)
for brknItem in brknMXD:
lyrList = arcpy.mapping.ListLayers(mxd)
f.write("MXD, " + fullPath + ", " + brknItem.name)
if brknItem.supports("dataSource"):
f.write(", " + brknItem.dataSource + "\n")
else:
f.write("\n")
f.close()
print "Script Completed"import arcpy
from arcpy import env
env.workspace=r"Z:\GIS_Data\gdb\GIS_Test.gdb"
fc="COA_FH_Inspections"
cursor = arcpy.SearchCursor(fc)
idlist = []
for row in cursor:
idlist.append(row.getValue('HydrID'))
del row, cursor
print idlist
idunique = set(idlist)
print idunique
#Make a layer from the feature class
arcpy.MakeFeatureLayer_management(fc, "lyr")
for ID in idunique:
arcpy.SelectLayerByAttribute_management("lyr", "ADD_TO_SELECTION",'"TestDate" = (SELECT MAX("TestDate") FROM "lyr") WHERE "HydrID" = %s' % ID)
# EXPORT RESULTS TO ANOTHER FEATURE CLASS
#, i.e. CopyFeatures_managementThis may work (but I don't know the Pythonic way to do the fc name substitution):
arcpy.SelectLayerByAttribute_management("lyr", "ADD_TO_SELECTION",'"HydrID" = %s And "TestDate" = (SELECT MAX("TestDate") FROM ' + fc + ') WHERE "HydrID" = %s' % ID)
import arcpy
from arcpy import env
env.workspace=r"Z:\GIS_Data\gdb\GIS_Test.gdb"
fc="COA_FH_Inspections"
cursor = arcpy.SearchCursor(fc)
idlist = []
for row in cursor:
idlist.append(row.getValue('HydrID'))
del row, cursor
print idlist
idunique = set(idlist)
print idunique
#Make a layer from the feature class
arcpy.MakeFeatureLayer_management(fc, 'lyr')
for ID in idunique:
arcpy.SelectLayerByAttribute_management('lyr', 'ADD_TO_SELECTION', '"HydrID" = %s AND "TestDate" = (SELECT MAX("TestDate") FROM %s WHERE "HydrID" = %s)' % (ID, fc, ID))
# EXPORT RESULTS TO ANOTHER FEATURE CLASS
#, i.e. CopyFeatures_management arcpy.SelectLayerByAttribute_management('lyr', "ADD_TO_SELECTION", '"HydrID" = \'%s\' AND "TestDate" = (SELECT MAX("TestDate") FROM %s WHERE "HydrID" = \'%s\')' % (IDval, fc, IDval))arcpy.SelectLayerByAttribute_management('lyr', 'ADD_TO_SELECTION','"HydrID" = %s And "TestDate" = (SELECT MAX("TestDate") FROM %s) WHERE "HydrID" = %s' % (ID, fc, ID))arcpy.SelectLayerByAttribute_management('lyr', 'ADD_TO_SELECTION', '"HydrID" = %s AND "TestDate" = (SELECT MAX("TestDate") FROM %s WHERE "HydrID" = %s)' % (ID, fc, ID))
import arcpy, os path = r"H:\Plans\GIS Plans\2003" for root, dirs, files in os.walk(path): for fileName in files: basename, extension = os.path.splitext(fileName) if extension == ".mxd": fullPath = os.path.join(root, fileName) mxd = arcpy.mapping.MapDocument(fullPath) print mxd brknMXD = arcpy.mapping.ListBrokenDataSources(mxd) for brknItem in brknMXD: print brknItem.name del fullPath, mxd, brknMXD del basename, extension print "Script Completed"
if brknItem.supports("dataSource"):
f.write(", " + brknItem.dataSource + "\n")