からイテレータのタプルを取得する私は、SQLiteデータベースに接続しています。 Pythonでデータベースにクエリを実行すると、タプルオブジェクトが返されます。私はnamedtuple
で動作することを好みます。問題は、オブジェクトを複数回反復することができないことです。私は、問題は、私は、オブジェクトを作成していれる方法であるのかはわからないか、それは私がオブジェクトにデータを代入していますどのように関係している場合。ここに私が持っているものは次のとおりです:SQLiteのクエリ
import sys
import sqlite3
from collections import namedtuple
data = namedtuple('data', 'id, name')
conn = sqlite3.connect('database.db')
c = conn.cursor()
c.execute('SELECT id,name FROM my_table;')
data = map(data._make, c.fetchall())
conn.close()
for id in data:
print (table.id)
for id in data:
print (table.id)
>>>123
>>>456
>>>789
テーブルには現在わずか3つのエントリしかありません。だから私は、2番目のループのために、3つのエントリをすべて繰り返す必要がありますが、私はしません。
私はDocs pageに示されているものと同様に、線の一部を変更しようとしましたが、それは助けていません。
。あなたは ''データ=リスト(マップ(data._make、c.fetchallを()))試みることができます... – mgilson