MRAB <pyt...@mrabarnett.plus.com> wrote: > 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)) > so are you saying that I should be able to write:-
rowAsDict = dict(row) -- Chris Green ยท -- https://mail.python.org/mailman/listinfo/python-list