Создание таблицы Python

Написал небольшой рандомайзер. Хочу чтобы результат каждого цикла рандома выводился в текстовый документ в виде таблицы. Никак не могу создать таблицу и дополнять ее походу выполнения кода.

import random
import os
import tkinter as tk
from tkinter.ttk import Label, Button
from unittest import result   #import all modules

root = tk.Tk()
root.title("Random")

root.geometry('400x200')
root.resizable(False, False) #create UI
rand = 0
result_ = 0
text_insert = 0
columns = ['Rand','Answer','Result']

file = 'C:/Users/YaroslavPolishchuk/Documents/Code/Project 1/app/'
with open('Shore.txt', 'w') as fp:
    pass

def to_rand(): #function to rundom
    global rand
    global text_insert
    rand=random.randint(1,10)
    text_insert=textBoxx.get('1.0','end-1c')
    
    label.config(text=rand)
    if rand == int(text_insert):
        label.config(text="WINN")
        print("WINN")

label = tk.Label(
    root,
    text=rand,
    font=("Helvetica", 14) #label with random number
)
label.pack(ipadx=10,
           ipady=10
)

textBoxx = tk.Text(root,
                   height = 1,
                   width  = 10
)            #insert your text
textBoxx.pack(
    ipadx=10,
    ipady=10
)
textBoxx.insert('1.0','number')

random_button = tk.Button(
    root,
    text="random",
    command=to_rand
)                           #Button to random
random_button.pack(
    ipadx=5,
    ipady=5,
)

root.mainloop()

Ответы (1 шт):

Автор решения: ganz

Оптимально использовать какойнить модуль по типу texttable

from texttable import Texttable
table = Texttable()
table.set_chars(['-', '|', '+', '=']) #разделители столбцов, ячеек, можно юзать пробел или пустые разделители
table.header(['A','B','C']) # задаём имена столбцов
table.set_cols_dtype(['t','i','a']) #типы данных в столбцах- текст число итп
table.set_cols_align(["l", "r", "c"])#выравнивание по горизонтали- лево-право-центр
table.set_cols_valign(["t", "m", "b"]) #выравнивание по вертикали верх-центр-низ
table.set_cols_width([20,10,5]) # ширина столбцов
table.set_deco( Texttable.BORDER|Texttable.HEADER |Texttable.HLINES| Texttable.VLINES)

table.add_row(['one','two','three']) #добавление столбца, для добавления серии нужен спсисок списков переданный функции add_rows

print(table.draw()) #то есть драу формирует текстовое представление таблицы
'''
+----------------------+------------+-------+
|          a           |     b      |   c   |
+======================+============+=======+
| one                  |        two | three |
+----------------------+------------+-------+
'''

касательно вопроса интеграции,- инициализуется таблица, при каждом вызове функции рандома, идёт добавление данных, при выходе из скрипта идёт сохранение данных в файл, даже темже принтом

→ Ссылка