import arcpy
from arcpy import env
from arcpy import mapping
workspace = arcpy.env.workspace = "C:/GIS/MAPBOOK/Proposed Zoning Book"
arcpy.env.overwriteOutput = True
mxdList = arcpy.ListFiles("*.mxd")
for mxd in mxdList:
mxd = workspace + "//" + mxd
for lyr in arcpy.mapping.ListLayers(mxd):
if lyr.name == "PROPOSED ZONING":
lyr.replaceDataSource("C:/Users/t***a/AppData/Roaming/ESRI/Desktop10.1/ArcCatalog/DSD15_SQLEXPRESS.gds/DSD/DSD.DBO.MUNICIPALITY", "SHAPEFILE_WORKSPACE", "DSD.DBO.FUTURE_LAND_USE_ZONING")
for lyr in arcpy.mapping.ListLayers(mxd):
if lyr.name == "CITY LIMITS":
lyr.replaceDataSource("C:/Users/t***a/AppData/Roaming/ESRI/Desktop10.1/ArcCatalog/DSD15_SQLEXPRESS.gds/TonyOneWay/TonyOneWay.DBO.Canyon_Features", "SHAPEFILE_WORKSPACE", "TonyOneWay.DBO.City_Limits")
print "Successfully updated data sources"
mxd.save()
Traceback (most recent call last): File "C:\GIS\Python Scripts\Change Data Source MXD 2.py", line 13, in <module> for lyr in arcpy.mapping.ListLayers(mxd): File "C:\Program Files (x86)\ArcGIS\Desktop10.1\arcpy\arcpy\utils.py", line 181, in fn_ return fn(*args, **kw) File "C:\Program Files (x86)\ArcGIS\Desktop10.1\arcpy\arcpy\mapping.py", line 1500, in ListLayers result = mixins.MapDocumentMixin(map_document_or_layer).listLayers(wildcard, data_frame) File "C:\Program Files (x86)\ArcGIS\Desktop10.1\arcpy\arcpy\arcobjects\mixins.py", line 823, in listLayers layers = self.layers File "C:\Program Files (x86)\ArcGIS\Desktop10.1\arcpy\arcpy\arcobjects\mixins.py", line 683, in layers for frame in reversed(self.dataFrames): File "C:\Program Files (x86)\ArcGIS\Desktop10.1\arcpy\arcpy\arcobjects\mixins.py", line 695, in dataFrames return map(convertArcObjectToPythonObject, self.pageLayout.dataFrames) File "C:\Program Files (x86)\ArcGIS\Desktop10.1\arcpy\arcpy\arcobjects\mixins.py", line 679, in pageLayout return convertArcObjectToPythonObject(self._mxd._arc_object.pageLayout) AttributeError: 'unicode' object has no attribute '_arc_object'
for lyr in arcpy.mapping.ListLayers(mxd):
if lyr.name == "PROPOSED ZONING":
lyr.replaceDataSource("C:/Users/t***a/AppData/Roaming/ESRI/Desktop10.1/ArcCatalog/DSD15_SQLEXPRESS.gds/DSD/DSD.DBO.MUNICIPALITY", "SHAPEFILE_WORKSPACE", "DSD.DBO.FUTURE_LAND_USE_ZONING")
for lyr in arcpy.mapping.ListLayers(mxd):
if lyr.name == "CITY LIMITS":
lyr.replaceDataSource("C:/Users/t***a/AppData/Roaming/ESRI/Desktop10.1/ArcCatalog/DSD15_SQLEXPRESS.gds/TonyOneWay/TonyOneWay.DBO.Canyon_Features", "SHAPEFILE_WORKSPACE", "TonyOneWay.DBO.City_Limits")
print "Successfully updated data sources"
for lyr in arcpy.mapping.ListLayers(mxd)[0]:
if lyr.name == "PROPOSED ZONING":
lyr.replaceDataSource("C:/Users/t***a/AppData/Roaming/ESRI/Desktop10.1/ArcCatalog/DSD15_SQLEXPRESS.gds/DSD/DSD.DBO.MUNICIPALITY", "SHAPEFILE_WORKSPACE", "DSD.DBO.FUTURE_LAND_USE_ZONING")
for lyr in arcpy.mapping.ListLayers(mxd)[0]:
if lyr.name == "CITY LIMITS":
lyr.replaceDataSource("C:/Users/t***a/AppData/Roaming/ESRI/Desktop10.1/ArcCatalog/DSD15_SQLEXPRESS.gds/TonyOneWay/TonyOneWay.DBO.Canyon_Features", "SHAPEFILE_WORKSPACE", "TonyOneWay.DBO.City_Limits")
print "Successfully updated data sources"
import arcpy
from arcpy import env
from arcpy import mapping
workspace = arcpy.env.workspace = "C:/GIS/MAPBOOK/Proposed Zoning Book"
arcpy.env.overwriteOutput = True
mxdList = arcpy.ListFiles("*.mxd")
for mxd in mxdList:
mxd = workspace + "//" + mxd
for lyr in arcpy.mapping.ListLayers(mxd[0]:
if lyr.supports("DATASOURCE"):
if lyr.name == "PROPOSED ZONING":
lyr.replaceDataSource("C:/Users/t**a/AppData/Roaming/ESRI/Desktop10.1/ArcCatalog/DSD15_SQLEXPRESS.gds/DSD/DSD.DBO.MUNICIPALITY", "SHAPEFILE_WORKSPACE", "DSD.DBO.FUTURE_LAND_USE_ZONING")
for lyr in arcpy.mapping.ListLayers(mxd)[0]:
if lyr.supports("DATASOURCE"):
if lyr.name == "CITY LIMITS":
lyr.replaceDataSource("C:/Users/t**a/AppData/Roaming/ESRI/Desktop10.1/ArcCatalog/DSD15_SQLEXPRESS.gds/TonyOneWay/TonyOneWay.DBO.Canyon_Features", "SHAPEFILE_WORKSPACE", "TonyOneWay.DBO.City_Limits")
print "Successfully updated data sources"
mxd.save()
for lyr in arcpy.mapping.ListLayers(mxd[0]:
for lyr in arcpy.mapping.ListLayers(mxd)[0]:
for lyr in arcpy.mapping.ListLayers(mxd)[0]:
mxdList = arcpy.ListFiles("*.mxd")
for mxd in mxdList: #<-- you already have the mxd set here
mxd = workspace + "//" + mxd #<-- now you are changing it right after you start the loop? why?
for lyr in arcpy.mapping.ListLayers(mxd[0]): #<--mxd is likely incorrect now
mxdList = arcpy.ListFiles("*.mxd")
for mxd in mxdList: #<-- you already have the mxd set here, just keep it like that
for lyr in arcpy.mapping.ListLayers(mxd[0]): #<--mxd should now be fine
.
.
.
C:/GIS/MAPBOOK/Proposed Zoning Book//Proposed_ZoningMapBook_Page_1.mxd is being processed Traceback (most recent call last): File "C:\GIS\Python Scripts\Change Data Source MXD 2.py", line 14, in <module> for lyr in arcpy.mapping.ListLayers(mxd)[0]: File "C:\Program Files (x86)\ArcGIS\Desktop10.1\arcpy\arcpy\utils.py", line 181, in fn_ return fn(*args, **kw) File "C:\Program Files (x86)\ArcGIS\Desktop10.1\arcpy\arcpy\mapping.py", line 1500, in ListLayers result = mixins.MapDocumentMixin(map_document_or_layer).listLayers(wildcard, data_frame) File "C:\Program Files (x86)\ArcGIS\Desktop10.1\arcpy\arcpy\arcobjects\mixins.py", line 823, in listLayers layers = self.layers File "C:\Program Files (x86)\ArcGIS\Desktop10.1\arcpy\arcpy\arcobjects\mixins.py", line 683, in layers for frame in reversed(self.dataFrames): File "C:\Program Files (x86)\ArcGIS\Desktop10.1\arcpy\arcpy\arcobjects\mixins.py", line 695, in dataFrames return map(convertArcObjectToPythonObject, self.pageLayout.dataFrames) File "C:\Program Files (x86)\ArcGIS\Desktop10.1\arcpy\arcpy\arcobjects\mixins.py", line 679, in pageLayout return convertArcObjectToPythonObject(self._mxd._arc_object.pageLayout) AttributeError: 'unicode' object has no attribute '_arc_object'
Traceback (most recent call last): File "C:\GIS\Python Scripts\Change Data Source MXD 2.py", line 12, in <module> for lyr in arcpy.mapping.ListLayers(mxd)[0]: File "C:\Program Files (x86)\ArcGIS\Desktop10.1\arcpy\arcpy\utils.py", line 181, in fn_ return fn(*args, **kw) File "C:\Program Files (x86)\ArcGIS\Desktop10.1\arcpy\arcpy\mapping.py", line 1500, in ListLayers result = mixins.MapDocumentMixin(map_document_or_layer).listLayers(wildcard, data_frame) File "C:\Program Files (x86)\ArcGIS\Desktop10.1\arcpy\arcpy\arcobjects\mixins.py", line 823, in listLayers layers = self.layers File "C:\Program Files (x86)\ArcGIS\Desktop10.1\arcpy\arcpy\arcobjects\mixins.py", line 683, in layers for frame in reversed(self.dataFrames): File "C:\Program Files (x86)\ArcGIS\Desktop10.1\arcpy\arcpy\arcobjects\mixins.py", line 695, in dataFrames return map(convertArcObjectToPythonObject, self.pageLayout.dataFrames) File "C:\Program Files (x86)\ArcGIS\Desktop10.1\arcpy\arcpy\arcobjects\mixins.py", line 679, in pageLayout return convertArcObjectToPythonObject(self._mxd._arc_object.pageLayout) AttributeError: 'unicode' object has no attribute '_arc_object'
import arcpy
from arcpy import env
from arcpy import mapping
workspace = arcpy.env.workspace = "C:\GIS\MAPBOOK\Proposed Zoning Book"
arcpy.env.overwriteOutput = True
mxdList = arcpy.ListFiles("*.mxd")
for mxd in mxdList:
mxd = workspace + "//" + mxd
print mxd + " is being processed"
mxd = arcpy.mapping.MapDocument(mxd)
mxd.findAndReplaceWorkspacePaths(r"C:\Documents and Settings\talmeida\Application Data\ESRI\ArcCatalog\DSDccarcsde.sde",r"C:\Users\talmeida\AppData\Roaming\ESRI\Desktop10.1\ArcCatalog\DBO.DSD.VECTOR.sde")
for lyr in arcpy.mapping.ListLayers(mxd)[0]:
if lyr.supports("DATASOURCE"):
if lyr.name == "PROPOSED ZONING":
lyr.replaceDataSource(r"C:\Users\talmeida\AppData\Roaming\ESRI\Desktop10.1\ArcCatalog\DSD15_SQLEXPRESS.gds\DSD\DSD.DBO.MUNICIPALITY", "FILEGDB_WORKSPACE", "DSD.DBO.FUTURE_LAND_USE_ZONING")
for lyr in arcpy.mapping.ListLayers(mxd) [0]:
if lyr.supports("DATASOURCE"):
if lyr.name == "CITY LIMITS":
lyr.replaceDataSource(r"C:\Users\talmeida\AppData\Roaming\ESRI\Desktop10.1\ArcCatalog\DSD15_SQLEXPRESS.gds\TonyOneWay\TonyOneWay.DBO.Canyon_Features", "SHAPEFILE_WORKSPACE", "TonyOneWay.DBO.City_Limits")
print "Successfully updated data sources"
mxd.save()
C:\GIS\MAPBOOK\Proposed Zoning Book//Proposed_ZoningMapBook_Page_1.mxd is being processed Traceback (most recent call last): File "C:\GIS\Python Scripts\Change Data Source MXD 2.py", line 14, in <module> for lyr in arcpy.mapping.ListLayers(mxd)[0]: File "C:\Program Files (x86)\ArcGIS\Desktop10.1\arcpy\arcpy\utils.py", line 181, in fn_ return fn(*args, **kw) File "C:\Program Files (x86)\ArcGIS\Desktop10.1\arcpy\arcpy\mapping.py", line 1500, in ListLayers result = mixins.MapDocumentMixin(map_document_or_layer).listLayers(wildcard, data_frame) File "C:\Program Files (x86)\ArcGIS\Desktop10.1\arcpy\arcpy\arcobjects\mixins.py", line 823, in listLayers layers = self.layers File "C:\Program Files (x86)\ArcGIS\Desktop10.1\arcpy\arcpy\arcobjects\mixins.py", line 683, in layers for frame in reversed(self.dataFrames): File "C:\Program Files (x86)\ArcGIS\Desktop10.1\arcpy\arcpy\arcobjects\mixins.py", line 695, in dataFrames return map(convertArcObjectToPythonObject, self.pageLayout.dataFrames) File "C:\Program Files (x86)\ArcGIS\Desktop10.1\arcpy\arcpy\arcobjects\mixins.py", line 679, in pageLayout return convertArcObjectToPythonObject(self._mxd._arc_object.pageLayout) AttributeError: 'unicode' object has no attribute '_arc_object'