Как распечатать таблицу с динамическими значениями? - PullRequest
0 голосов
/ 21 сентября 2018

Я пытаюсь напечатать 2d матрицу с динамическими значениями.В основном я хотел бы что-то, что выглядит следующим образом:

---------------------------------------------
| Column 1 | Column 2 | Column 3 | Column 4 |
---------------------------------------------
| A        | A_2      | A_3      | A_4      |
| B        | B_2      | B_3      | B_4      |
| C        | C_2      | C_3      | C_4      |
---------------------------------------------

с A_2, A_3 ... динамическим (постоянно обновляется).Возможно, метод print - не лучшее решение, поэтому любая другая идея относительно быстро генерировать такую ​​таблицу приветствуется.

Я подумал, что мог бы создать класс, который будет очень общим.Примерно так:

class Viewer:
    def __init__(self, header_columns):
        # start building the viewer

    def update_row(self, data_row):
        # add the row if it does not exist
        # else, update the row with new values
        # and update the table printed

def main():
    header = ['id', 'value1', 'value2']
    myview = Viewer(header)

    # start updating the values
    for i in range(10):
        firstid = {'id': 'A', 'value1': i, 'value2': i}
        myview.update_row(firstid)

Если быть более общим, заголовки столбцов могут быть обновлены с помощью ключей объектов строк.

Однако я не понимаю, как я могу это сделать,Я читал, что могу использовать библиотеку Curses (я использую Mac OS), но я действительно не уверен, что она справится с работой

...