Hi Esther, On Wed, Sep 1, 2010 at 13:29, Nally Kaunda-Bukenya <nkau...@yahoo.com> wrote: > #THE PROGRAM: > import arcgisscripting > gp=arcgisscripting.create() > gp.Workspace = "C:\\NPDES\\NPDES_PYTHON.mdb" > fc = "Outfalls_ND" > > try: > # Set the field to create a list of unique values > fieldname = "OUTFALL_ID" > > # Open a Search Cursor to identify all unique values > cur = gp.UpdateCursor(fc) > row = cur.Next() > > # Set a list variable to hold all unique values > L = [] > > # Using a while loop, cursor through all records and append unique > #values to the list variable > while row <> None: > value = row.GetValue(fieldname) > if value not in L: > L.append(value) > row = cur.Next() > row.SetValue(Tot_Outf_Area, sum(row.AREA_ACRES)) #total area of > each outfall=sum of all area 4 each unique outfallid > cur.UpdateRow(row) #to commit changes > row=cur.Next() > print row.Tot_Outf_Area > # Sort the list variable > L.sort() > > # If a value in the list variable is blank, remove it from the list > variable > #to filter out diffuse outfalls > if ' ' in L: > L.remove(' ') > > except: > # If an error occurred while running a tool, print the messages > print gp.GetMessages()
Have you tried running this code? I suspect it won't work at all -- and because you are catching all possible exceptions in your try...except, you won't even know why. Here are the things that I'd suggest, just from glancing over the code: - Remove the try...except for now. Getting an exception, and understanding why it occurred and how best to deal with it, is IMHO very helpful when prototyping and debugging. - Take another look at your while loop. I don't know ArcGIS, so I don't know if the UpdateCursor object supports the iterator protocol, but the normal Python way of looping through all rows would be a for loop: for row in cur: # code For example, you are calling cur.Next() twice inside the loop -- is that what you want? Hope that helps, Rami > > > > #Please Help!!! > > #Esther > > > > -- > http://mail.python.org/mailman/listinfo/python-list > > -- Rami Chowdhury "Never assume malice when stupidity will suffice." -- Hanlon's Razor 408-597-7068 (US) / 07875-841-046 (UK) / 0189-245544 (BD) -- http://mail.python.org/mailman/listinfo/python-list