@Pavel_132131

Как вывести данные в таблицу (PrettyTable) в столбик?

В готовой таблице данные выводятся в каждый столбец одной сплошной строчкой, и по итогу таблица становится слишком длинной, подскажите как вывести таблицу, но при этом что бы данные из словаря были записаны в этой таблице в столбик (для более удобной читабельности)

from  prettytable  import  PrettyTable 

slovar_1 = {"amd": 16, "intl":10, "fis":11, "bb":17, "nvda":14}
slovar_2 = {"amd": 4, "intl":2, "fis":9, "bb":3, "nvda":8}
slovar_3 = {"amd":376, "intl":219, "fis":129, "bb":190, "nvda":401}


name = ["Debt To equity Ratio", "Current Ratio", "Total Ratio"]
index = [sorted(slovar_1.items(), reverse=True, key=lambda para: para[1]), 
    sorted(slovar_2.items(), reverse=True, key=lambda para: para[1]),
    sorted(slovar_3.items(), reverse=True, key=lambda para: para[1])]

table = PrettyTable(name)

data = index[:]


table.add_row(data[:])
data = data[:]



print(table)


Для таблицы словари уже отсортированы (от большего к меньшему).
Вся проблема в выводе данных в одну длинную строку(приложил скрин).
60256a6fbb49b219828060.png
А нужно что бы было так.
60256b2f876f3789484687.png
  • Вопрос задан
  • 321 просмотр
Решения вопроса 1
@o5a
Судя по документации, можно просто добавлять колонками вместо строк
from  prettytable  import  PrettyTable

slovar_1 = {"amd": 16, "intl":10, "fis":11, "bb":17, "nvda":14}
slovar_2 = {"amd": 4, "intl":2, "fis":9, "bb":3, "nvda":8}
slovar_3 = {"amd":376, "intl":219, "fis":129, "bb":190, "nvda":401}

name = ["Debt To equity Ratio", "Current Ratio", "Total Ratio"]

table = PrettyTable()
table.add_column(name[0], list(slovar_1.items()))
table.add_column(name[1], list(slovar_2.items()))
table.add_column(name[2], list(slovar_3.items()))

print(table)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы