【问题标题】:Python: How to display a dataframe using TkinterPython:如何使用 Tkinter 显示数据框
【发布时间】:2016-11-20 23:35:22
【问题描述】:

我是 Tkinter 的新手。我尝试了 Tkinter 提供的一些小部件,但找不到合适的方式来显示数据框。

我试过Tkinter.Text。我使用update() 而不是mainloop(),因为我想更新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 的条目,非常慢。

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()

那么显示数据框最简单的方法是什么(无需编辑)?具体来说,它应该或多或少看起来像一个带有滚动条的 Excel 电子表格,并允许显示的 df 被更新并再次显示。此外,如果df 有数百行,则应该不会花费太长时间。

谢谢。

【问题讨论】:

  • 欢迎来到 SO。尽管您的问题听起来不错,但我建议在底部的问题中总结您的需求(“很好”这个词太模糊了)。最好的问候。
  • @YakovL 感谢您的建议。我在问题末尾添加了我的需求。
  • 看起来 this 完全符合您的要求。

标签: python tkinter


【解决方案1】:

我发现pandas-qt 易于使用且显示速度非常快。

有一些替代解决方案here

【讨论】:

    猜你喜欢
    • 2017-12-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-10
    相关资源
    最近更新 更多