问题
I'm trying to process a very large query with pyodbc and I need to iterate over the rows without loading them all at once with fetchall().
Is there a good and principled way to do this?
回答1:
Sure - use a while
loop with fetchone
.
http://code.google.com/p/pyodbc/wiki/Cursor#fetchone
row = cursor.fetchone()
while row is not None:
# do something
row = cursor.fetchone()
回答2:
you could also use cursor.fetchmany()
if you want to batch up the fetches (defaults to 1 if you don't override it)
http://code.google.com/p/pyodbc/wiki/Cursor#fetchmany
来源:https://stackoverflow.com/questions/17707264/iterating-over-pyodbc-result-without-fetchall