sqlite3でフィールド名でデータを取得
フィールド名でデータにアクセスできるようにする。
>>> sql = 'SELECT name, ablob FROM justatest ORDER BY name' >>> cur = conn.cursor() >>> cur.execute(sql) # これだとtupleが返却されるので出来ない >>> for i in cur: type(i) <class 'tuple'> <class 'tuple'> <class 'tuple'> # ここでrow_factoryをsqlite3.Rowに設定するとファクトリはtupleでなくsqlite3.Rowを返す >>> conn.row_factory = sqlite3.Row >>> cur = conn.cursor() >>> cur.execute(sql) # sqlite3.Rowだとカラム名でもアクセスできるようになる。 >>> for row in cur.fetchall(): print(type(row)) print(row['name'],row['ablob']) <class 'sqlite3.Row'> <class 'sqlite3.Row'> <class 'sqlite3.Row'> >>>