2016-07-18 21 views
0

Tkinterを初めて使用しています。 Tkinterが提供するいくつかのウィジェットを試しましたが、データフレームを表示するのに適した方法を見つけることができません。Python:Tkinterを使用してデータフレームを表示する方法

私はTkinter.Textを試しました。私はmainloop()の代わりにupdate()を使用しました。dfを更新してもう一度表示したいからです。 mainloop()は自分のプログラムをブロックします。この方法の問題点は、dfのサイズが大きくなると完全に表示できないことです。

import pandas 
import numpy as np 
import Tkinter 

root = Tkinter.Tk() 
t1 = Tkinter.Text(root) 
t1.pack() 
df = pandas.DataFrame(np.random.randn(900,2),columns=list('AB')) 
t1.insert('end', df) 

root.update() 

Tkinter.Lablelも試しました。それは実際にdfのエントリを1つずつ挿入しますが、これは非常に遅いです。

from Tkinter import * 
for i in range(900): 
    for j in range(4): 
     l = Label(text='%d.%d' % (i, j), relief=RIDGE) 
     l.grid(row=i, column=j, sticky=NSEW) 
mainloop() 

データフレームを表示する最も簡単な方法は何ですか(編集不要)。具体的には、スクロールバーを使ったスプレッドシートのように見えるようにして、表示されたdfを更新して再度表示できるようにする必要があります。また、dfに何百行もある場合は、時間がかかり過ぎないようにしてください。

ありがとうございます。

+1

ようこそ。あなたの質問は大丈夫ですが、私はあなたのニーズを下の質問に要約することをお勧めします(単語 "きれいに"あまりにも曖昧です)。宜しくお願いします。 – YakovL

+0

@ YakovLアドバイスをいただきありがとうございます。私は質問の最後に私のニーズを追加しました。 – Pollyanna

+0

[this](https://github.com/dmnfarrell/pandastable)のように見えます。 – chthonicdaemon

答えて

0

私はpandas-qt使いやすいと表示が非常に高速です。

いくつかの代替ソリューションがあります。here

関連する問題