0
SQLite 데이터베이스에 연결 중입니다. 파이썬에서 데이터베이스를 질의 할 때, 튜플 객체를 반환합니다. 나는 namedtuple
과 일하기를 더 좋아합니다. 문제는 개체를 두 번 이상 반복 할 수 없다는 것입니다. 문제가 내가 객체를 만드는 방법과 관련이 있는지 또는 객체에 데이터를 할당하는 것과 관련이 있는지 확실하지 않습니다. 여기에 내가 가지고있는 것 :SQLite 쿼리에서 Iterator Tuple 가져 오기
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 개의 항목 만 있습니다. 그래서 두 번째 루프 때문에 3 개의 모든 항목을 반복해야하지만 그렇지 않습니다.
Docs page에 표시된 것과 비슷한 일부 줄을 변경해 보았지만 도움이되지 않았습니다.
python3.x에서'map'은 반복 가능한 객체를 반환합니다 - 여러 번 반복 할 수 없습니다. 당신은'data = list (map (data._make, c.fetchall()))'를 시도 할 수있다. – mgilson