Python: как отобразить фрейм данных с помощью TkinterPython

Программы на Python
Anonymous
Python: как отобразить фрейм данных с помощью Tkinter

Сообщение Anonymous »

Я новичок в 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 содержит сотни строк.

Спасибо.

Подробнее здесь: https://stackoverflow.com/questions/384 ... ng-tkinter

Вернуться в «Python»