sqlite dict factory

Tue 10 June 2014 — Filed under notes; tags: python, sqlite

Probably not as efficient as using the sqlite3.Row class, but works when actual dict objects are required. Adapted from https://docs.python.org/2/library/sqlite3.html.

import sqlite3

def dict_factory(cursor, row):
    return {col[0]: row[idx] for idx, col in enumerate(cursor.description)}

con = sqlite3.connect(":memory:")
con.row_factory = dict_factory
cur = con.cursor()
cur.execute("select 1 as a")
print cur.fetchone()