Pyodbc-печать первых 10 строк (python)
Я пытаюсь напечатать первые 10 строк с помощью pyodbc. Я знаю, как получить первую запись, используя следующее:
row = cursor.fetchall()
Я попытался изменить это на:
row = cursor.fetchten()
но это не сработало. Я могу еще что-нибудь сделать??
2 ответов
на основе найденной документации на этой странице, у вас есть два варианта возврата списков. У вас есть fetchall()
способ и fetchmany()
метод. В любом случае, вам возвращается список строк для работы.
о fetchall()
метод и piggybacking от того, что zondo сказал, следующее работает быстро и эффективно:
rows = cursor.fetchall()[:10] # to get the first 10
rows = cursor.fetchall()[-10::1] # to get the last 10
кроме того, вы можете зацикливаться на строках столько раз, сколько вам нужно, чтобы получить результаты нужно:
rows = cursor.fetchall()
for idx in range(10): #[0, 1, ..., 9,]
print(rows[idx]) # to get the first 10
print(rows[(len(ray)-idx)]) # to get the last 10
есть еще fetchmany()
метод в той же документации, определенный следующим образом:cursor.fetchmany([size=cursor.arraysize]) --> list
скобки указывают дополнительные параметры, поэтому вам не нужно включать размер. Но поскольку вы хотите 10, вы передадите 10 в параметр size. Пример:
rows = cursor.fetchmany(size=10)
for row in rows:
print(row)