SV: Function to convert fetchone() result from a list to a dictionary
Gerhard Häring
gh at ghaering.de
Tue Apr 29 08:02:23 EDT 2003
Carsten Gehling wrote:
>>Fra: python-list-admin at python.org
>>[mailto:python-list-admin at python.org]Pa vegne af Neil Padgen
>>Sendt: 29. april 2003 11:16
>
>
>>Take a look at the cursorclass argument:
>
>
> <snip>
>
>>>>>c = db.cursor(cursorclass=MySQLdb.cursors.DictCursor)
>
>
> <snip>
>
> Hmm... Nice. However, is this MySQLdb.cursors.DictCursor available in other
> DB modules
No.
> - say, if I someday changed to (shudder) Postgres or Oracle?
I don't use (shudder) MySQL :-P
pyPgSQL has it's own tuple type that will also allow you to access
columsn via name:
for row in cursor.fetchall():
print row.FIELD_1, row[2], row["FIELD_2"] # 3 syntaxes possible
For my Oracle uses, I adapted pyPgSQL's PgResultSet class and built a
generic DB-API wrapper around it (it wraps connections and cursors, such
that all cursor.fetchXX now return PgResultSets).
AFAIK both MySQLdb and psycopg support the .dictfechXXX() methods.
My favourite so far is db_row (http://opensource.theopalgroup.com/) as
it can be used with any database and seems to be pretty darn fast. Our
plans are to adapt this or develop something similar for pyPgSQL 3 and
PySQLite 0.5.
-- Gerhard
More information about the Python-list
mailing list