Обратите внимание, что названия заголовков не обязательно имеют одинаковую длину. Однако все записи данных представляют собой целые числа.
Теперь я хочу представить это в табличном формате, что-то вроде этого:
Man Utd Man City T Hotspur Man Utd 1 0 0 Man City 1 1 0 T Hotspur 0 1 2
У меня есть предположение, что для этого должна быть структура данных, но я не могу ее найти. Я пробовал использовать словарь и форматировать печать, я пробовал циклы for с отступом и я пробовал печатать в виде строк.
Я уверен, что должен быть очень простой способ сделать это, но я, вероятно, упускаю его из-за отсутствия опыта.
Переведено автоматически
Ответ 1
Для этой цели существует несколько легких и полезных пакетов python:
from prettytable import PrettyTable t = PrettyTable(['Name', 'Age']) t.add_row(['Alice', 24]) t.add_row(['Bob', 19]) print(t)
+-------+-----+ | Name | Age | +-------+-----+ | Alice | 24 | | Bob | 19 | +-------+-----+
В PrettyTable есть опции для чтения данных из баз данных csv, html, sql. Также вы можете выбирать подмножества данных, сортировать таблицу и изменять стили таблиц.
% в строке по сути является escape-символом, а символы, следующие за ним, сообщают python, какой формат должны иметь данные. % вне и после строки сообщает python, что вы намерены использовать предыдущую строку в качестве строки формата и что следующие данные должны быть помещены в указанный формат.
В этом случае я дважды использовал "%-12i". Чтобы разбить каждую часть:
'-' (left align) '12' (how much space to be given to this part of the output) 'i' (we are printing an integer)