[Tutor] accessing Postgres db results by column name

Serdar Tumgoren zstumgoren at gmail.com
Fri Apr 9 22:42:24 CEST 2010


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!

Regards,

Serdar
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20100409/1da836a5/attachment.html>


More information about the Tutor mailing list