Pyodbc-печать первых 10 строк (python)

Я пытаюсь напечатать первые 10 строк с помощью pyodbc. Я знаю, как получить первую запись, используя следующее:

row = cursor.fetchall()

Я попытался изменить это на:

row = cursor.fetchten()

но это не сработало. Я могу еще что-нибудь сделать??

2 ответов


вставить:

row = cursor.fetchmany(10)

вы можете изменить число в круглых скобках на все, что хотите.


на основе найденной документации на этой странице, у вас есть два варианта возврата списков. У вас есть 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)