13.13.6.2 Accessing columns by name instead of by index

One useful feature of the sqlite3 module is the builtin sqlite3.Row class designed to be used as a row factory.

Rows wrapped with this class can be accessed both by index (like tuples) and case-insensitively by name:

import sqlite3
con = sqlite3.connect("mydb")
con.row_factory = sqlite3.Row
cur = con.cursor()
cur.execute("select name_last, age from people")
for row in cur:
 assert row[0] == row["name_last"]
 assert row["name_last"] == row["nAmE_lAsT"]
 assert row[1] == row["age"]
 assert row[1] == row["AgE"]
Download as text (original file name: sqlite3/rowclass.py).


Python Library Reference
Previous: Up: 13.13.6 Using pysqlite efficiently Next:

Release 2.5, documentation updated on 19th September, 2006.
See About this document... for information on suggesting changes.

AltStyle によって変換されたページ (->オリジナル) /