On Tue, 2006-02-07 at 23:08, python eager wrote: > Hi , This is my statment which will work fine. but the statment line > is long. How to split up these lines . > > Code Snippet : > > for PID,FIRSTNAME,MIDDLENAME,LASTNAME, > MARITALSTATUS,EMPLOYEESTATUS,NOD,SALARY, > POI,RADDRESS,OADDRESS,MNO,LNO,DOBD,DOBM, > DOBY,DOID,DOIM,DOIY,DOED,DOEM,DOEY in cursor.fetchall():
You could split this up if you place parentheses around the tuple, but it's probably not a good idea to pollute your namespace with a million little column names like this. Also, if the set of columns in your query changes, you'd have to change that for line as well. An alternative is to define a class whose instances contain the column values as attributes. Example: class RowObject(object): def __init__(self, data, description): self.__dict__.update(dict(zip([col[0] for col in description], data))) for rowdata in cursor.fetchall(): row = RowObject(rowdata, cursor.description) # now you can do stuff with row.PID, row.FIRSTNAME, or however the columns # in the query are named. By the way, you might not have to fetch all rows and then loop over the list that gets returned. Most DB-API modules allow you to iterate over the cursor: for rowdata in cursor: # do stuff For large result sets this is more efficient because you only process one row at a time instead of sucking the entire result set into one huge list. Hope this helps, Carsten. _______________________________________________ DB-SIG maillist - DB-SIG@python.org http://mail.python.org/mailman/listinfo/db-sig