On 05/14/2018 10:04 PM, Ian Zimmerman wrote:
On 2018-05-14 21:12, Adrian Klaver wrote:
Because you are doing fetchall(). That is going to fetch a list of row
tuples. Either iterate over that list or iterate over the cursor:
for row in cur_p:
print(row)
For more info see:
http://initd.org/psycopg/docs/cursor.html
Where does that webpage say that I can use the cursor itself for
iteration? I can't find it there. (OTOH it is clearly documented for
the sqlite3 library).
Results retrieval methods
"
Note
cursor objects are iterable, so, instead of calling explicitly
fetchone() in a loop, the object itself can be used:
>>> cur.execute("SELECT * FROM test;")
>>> for record in cur:
... print record
"
Until now, with psycopg2 I have done it like this:
cur.execute(stmt)
results = iter(cur.fetchone, None)
for r in results:
...
--
Adrian Klaver
adrian.klaver@xxxxxxxxxxx