2016-02-04 2 views
7

を印刷します。私はこれを変更しようとしたPyodbcは - 私はpyodbcを使用して最初の10行を印刷しようとしている最初の10行(パイソン)

row = cursor.fetchall() 

:私は次のように使用して最初のレコードを取得する方法を知っている

row = cursor.fetchten() 

が、これは動作しませんでした。私は他に何ができますか?

+1

'fetchall'はちょうど最初、* *すべてのカーソルが持っている行がない返されます。実際に何をしようとしていますか? –

+1

私はpyodbcで何もしないので、これは完全なばかげたことかもしれませんが、 'cursor.fetchall()[:10]'を実行できませんでしたか? – zondo

答えて

4

あなたは挿入:

row = cursor.fetchmany(10) 

あなたが欲しいものに括弧内の数字を変更することができます。

2

ドキュメントには、on this pageがあります。リストを返すための2つのオプションがあります。あなたは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

は、 210

角カッコはオプションのパラメータを示すので、サイズを含める必要はありません。しかし、10を必要とするので、sizeパラメータに10を渡します。例:

rows = cursor.fetchmany(size=10) 
for row in rows: 
    print(row) 
関連する問題