Hello
I try to edit attribute table for 20 shapefiles that spread in big a folder and are divided to a lot of sub folders. All shapefiles are called "migrashim" and the name of the filed that i want to change is "structuretype". I try this code:
when i run this code:
import arcpy,os,sys from arcgisscripting import da pattern = 'migrashim.shp' folder = r"C:\Project\layers" ## root folder field = 'YEUD' ## your field where calculation to be applied files_process = [] for root,dirs,files in os.walk(r"C:\Project\layers"): for filenames in files: if filenames == pattern: files_process.append(os.path.join(root, filenames)) for i in files_process: curU = arcpy.UpdateCursor(i) for row in curU: row.setValue(field, 500)##Any expression you want curU.updateRow(row) del curU
i get an error:
Traceback (most recent call last): File "C:\Users\yaron.KAYAMOT\Desktop\ar.py", line 1, in <module> import arcpy,os,sys File "C:\Program Files (x86)\ArcGIS\Desktop10.3\ArcPy\arcpy\__init__.py", line 24, in <module> from arcpy.toolbox import * File "C:\Program Files (x86)\ArcGIS\Desktop10.3\ArcPy\arcpy\toolbox.py", line 15, in <module> from .ddd import ASCII3DToFeatureClass as ASCII3DToFeatureClass_3d File "C:\Program Files (x86)\ArcGIS\Desktop10.3\ArcPy\arcpy\ddd.py", line 23, in <module> from arcpy.arcobjects.arcobjectconversion import convertArcObjectToPythonObject File "C:\Program Files (x86)\ArcGIS\Desktop10.3\ArcPy\arcpy\arcobjects\__init__.py", line 15, in <module> from _base import * File "C:\Program Files (x86)\ArcGIS\Desktop10.3\ArcPy\arcpy\arcobjects\_base.py", line 16, in <module> from .arcobjectconversion import convertArcObjectToPythonObject File "C:\Program Files (x86)\ArcGIS\Desktop10.3\ArcPy\arcpy\arcobjects\arcobjectconversion.py", line 2, in <module> import arcpy.mapping File "C:\Program Files (x86)\ArcGIS\Desktop10.3\ArcPy\arcpy\mapping.py", line 15, in <module> from _mapping import MapDocument, Layer, TableView, constants File "C:\Program Files (x86)\ArcGIS\Desktop10.3\ArcPy\arcpy\_mapping.py", line 15, in <module> from arcpy.arcobjects import mixins File "C:\Program Files (x86)\ArcGIS\Desktop10.3\ArcPy\arcpy\arcobjects\mixins.py", line 16, in <module> curU = arcpy.da.UpdateCursor(i,field) AttributeError: 'module' object has no attribute 'da'
i need help !!
try to see if you get a list of the properties...
why do you need to use arcgisscripting.da when arcpy.da is normally used?
>>> import arcpy >>> import arcgisscripting >>> >>> a = dir(arcpy.da) >>> b = dir(arcgisscripting.da) >>> >>> a ['Domain', 'Editor', 'ExtendTable', 'FeatureClassToNumPyArray', 'InsertCursor', 'ListDomains', 'ListFieldConflictFilters', 'ListReplicas', 'ListSubtypes', 'ListVersions', 'NumPyArrayToFeatureClass', 'NumPyArrayToTable', 'Replica', 'SearchCursor', 'TableToNumPyArray', 'UpdateCursor', 'Version', 'Walk', '__all__', '__builtins__', '__doc__', '__file__', '__name__', '__package__'] >>> b ['Domain', 'Editor', 'ExtendTable', 'FeatureClassToNumPyArray', 'InsertCursor', 'ListDomains', 'ListFieldConflictFilters', 'ListReplicas', 'ListSubtypes', 'ListVersions', 'NumPyArrayToFeatureClass', 'NumPyArrayToTable', 'Replica', 'SearchCursor', 'TableToNumPyArray', 'UpdateCursor', 'Version', 'Walk', '__doc__', '__name__', '__package__'] >>>
when i write "import arcpy" --> enter i get:
>>> import arcpy
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
import arcpy
File "c:\program files (x86)\arcgis\desktop10.3\arcpy\arcpy\__init__.py", line 24, in <module>
from arcpy.toolbox import *
File "c:\program files (x86)\arcgis\desktop10.3\arcpy\arcpy\toolbox.py", line 15, in <module>
from .ddd import ASCII3DToFeatureClass as ASCII3DToFeatureClass_3d
File "c:\program files (x86)\arcgis\desktop10.3\arcpy\arcpy\ddd.py", line 23, in <module>
from arcpy.arcobjects.arcobjectconversion import convertArcObjectToPythonObject
File "c:\program files (x86)\arcgis\desktop10.3\arcpy\arcpy\arcobjects\__init__.py", line 15, in <module>
from _base import *
File "c:\program files (x86)\arcgis\desktop10.3\arcpy\arcpy\arcobjects\_base.py", line 16, in <module>
from .arcobjectconversion import convertArcObjectToPythonObject
File "c:\program files (x86)\arcgis\desktop10.3\arcpy\arcpy\arcobjects\arcobjectconversion.py", line 2, in <module>
import arcpy.mapping
File "c:\program files (x86)\arcgis\desktop10.3\arcpy\arcpy\mapping.py", line 15, in <module>
from _mapping import MapDocument, Layer, TableView, constants
File "c:\program files (x86)\arcgis\desktop10.3\arcpy\arcpy\_mapping.py", line 15, in <module>
from arcpy.arcobjects import mixins
File "c:\program files (x86)\arcgis\desktop10.3\arcpy\arcpy\arcobjects\mixins.py", line 16, in <module>
curU = arcpy.da.UpdateCursor(i,field)
AttributeError: 'module' object has no attribute 'da'
>>>
what can i do?
Well that means that you can't even import arcpy which means one of several things
my python worked fine till i run this code (fuond it in the net):
import arcpy,os,sys
pattern = 'fish_46.shp'
folder = 'C:\Users\USER_NAME\Desktop\delete'## root folder
field = 'Id' ## your field where calculation to be applied
files_process = []
for root,dirs,files in os.walk('C:\Users\USER_NAME\Desktop\delete'😞
for filenames in files:
if filenames == pattern:
files_process.append(os.path.join(root, filenames))
for i in files_process:
curU = arcpy.da.UpdateCursor(i,field)
for row in curU:
row[0]=1 ##Any expression you want
curU.updateRow(row)
del curU
what can i do?
Ahh if the Mom won't help we will try Dad...but in short I will not get into parental disputes and let your figure it out in the parental forum
interesting though... you have a bigger issue...
>>> import arcpy >>> import os >>> rootPath = r"c:\!np_arc" >>> pattern = "AOI_mtm9.shp" >>> files_process = [] >>> for root, dirs, files in os.walk(rootPath): ... for filename in files: ... if filename == pattern: ... files_process.append(os.path.join(root, filename)) ... >>> files_process ['c:\\!np_arc\\Basics\\np05\\Shapefiles\\AOI_mtm9.shp', 'c:\\!np_arc\\mapping\\shapefiles\\AOI_mtm9.shp', 'c:\\!np_arc\\Shapefiles\\AOI_mtm9.shp'] >>> for i in files_process: ... curU = arcpy.SearchCursor(i) ... for row in curU: ... print "do nothing" ... do nothing do nothing do nothing >>>
sorry, i didn't understand you