Serdar Tumgoren wrote: > Hi folks, > > Does anyone know if there's native support in psycopg2 for accessing > rows in a result-set by column name (rather than by index)? > > I'd like to be able to do something like below: > > cur.execute('select id, name from mytable') > data = cur.fetchall() > for row in data: > print row['id'], row['name'] > > The functionality I have in mind is built into sqlite3: > > > http://docs.python.org/py3k/library/sqlite3.html#accessing-columns-by-name-instead-of-by-index > > And there are a few Python recipes that let you mimic this behavior: > > > http://code.activestate.com/recipes/81252-using-dtuple-for-flexible-query-result-access/ > > http://code.activestate.com/recipes/52293-generate-field-name-to-column-number-dictionary/ > > But I'm wondering if any Postgres db adapters offer native support, > similar to sqlite3? I didn't notice it in a quick scan of the psycopg2 > docs (http://initd.org/psycopg/docs/), but perhaps the functionality > is not documented or someone knows of a different Postgres adapter > that has this capability? > > As always, any pointers are greatly appreciated!
I do it in mssql, but I think it should be the same with psycopg (sorry I didn't polish it but I'm finishing my day and no time) : >>> class reg(object): ... def __init__(self, cursor, registro): ... for (attr, val) in zip((d[0] for d in cursor.description), registro) : ... setattr(self, attr, val) >>> for row in cursor.fetchall() : ... r = reg(cursor, row) ... print r.CosCPrd, r.CosCAno, r.CosCMes, r.CosCImpSis, r.CosCUsr HTH _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor