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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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