Pyodbc - 打印前10行(python)

时间:2016-02-04 15:57:49

标签: python fetch pyodbc

我尝试使用pyodbc打印前10行。我知道如何使用以下内容获取第一条记录:

row = cursor.fetchall()

我尝试将其更改为:

row = cursor.fetchten()

但这没有用。还有什么我可以做的吗?

2 个答案:

答案 0 :(得分:6)

您插入:

row = cursor.fetchmany(10)

您可以将括号中的数字更改为您想要的任何内容。

答案 1 :(得分:4)

根据找到的文档on this page,您有两个返回列表的选项。您拥有fetchall()方法和fetchmany()方法。在任何一种情况下,您都会返回要使用的行列表。

关于fetchall()方法以及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)