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'>

>>>