On 2017-03-12 22:44, Chris Green wrote:
This should be simple but I can't manage it at the moment! :-)
I have opened a database connection and have set the row_factory to
sqlite3.Row.
So how do I actually iterate through a row of data having used
fetchone to read a row.
I.e. I have:-
self.conn = sqlite3.connect(dbname)
self.conn.row_factory = sqlite3.Row
self.cursor = self.conn.cursor()
self.table = table
...
...
sql = "SELECT * FROM " + self.table + " WHERE firstName||lastName = ?"
self.cursor.execute(sql, (name,))
row = self.cursor.fetchone()
I want a for loop which gives me the column names and values.
The docs tell you that the sqlite3.Row instances are like tuples, but
with additional features, such as a .keys() method that will tell you
the column names. Try:
print(row.keys())
With a little experimentation you'll find that can pass it to dict. Try:
print(dict(row))
--
https://mail.python.org/mailman/listinfo/python-list