30 lines
792 B
Python
30 lines
792 B
Python
#!/usr/bin/env python
|
|
|
|
from collections import namedtuple
|
|
import sqlite3
|
|
|
|
|
|
def named_tuple_cursor(cursor):
|
|
'''Generate rows as named tuples'''
|
|
column_names = [desc[0] for desc in cursor.description]
|
|
name_str = ' '.join(column_names)
|
|
# "row_tuple" is an arbitrary name -- any name could be used here
|
|
row_tuple = namedtuple('row_tuple', name_str)
|
|
|
|
for cursor_row in cursor.fetchall():
|
|
row_tuple = row_tuple(*cursor_row)
|
|
yield row_tuple
|
|
|
|
|
|
with sqlite3.connect("../DATA/presidents.db") as s3conn:
|
|
c = s3conn.cursor()
|
|
|
|
# select first name, last name from all presidents
|
|
num_recs = c.execute('''
|
|
select firstname, lastname
|
|
from presidents
|
|
''')
|
|
|
|
for row in named_tuple_cursor(c):
|
|
print(row.firstname, row.lastname)
|