AttributeError: 'module' object has no attribute 'da'

12561
7
01-28-2015 01:25 AM
Yaron_YosefCohen
Occasional Contributor II

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 !!

Tags (2)
0 Kudos
7 Replies
DanPatterson_Retired
MVP Emeritus

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__']
>>>
0 Kudos
Yaron_YosefCohen
Occasional Contributor II

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?

0 Kudos
DanPatterson_Retired
MVP Emeritus

Well that means that you can't even import arcpy which means one of several things

  • ArcGIS isn't installed on that machine
  • or it isn't installed properly
  • or you have installed it in a non-default location
  • you are using a different version of python than the one that comes with arcgis
Yaron_YosefCohen
Occasional Contributor II

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?

0 Kudos
DanPatterson_Retired
MVP Emeritus

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
>>>
0 Kudos
Yaron_YosefCohen
Occasional Contributor II

sorry, i didn't understand you

0 Kudos