Модуль для преобразования 2D-списков Python в причудливые таблицы ASCII/Unicode.

задняя часть Python визуализация данных
Модуль для преобразования 2D-списков Python в причудливые таблицы ASCII/Unicode.

Эта статья участвует в "Месяце тем Python", подробнее см.Ссылка на мероприятие

table2ascii

Модуль для преобразования 2D-списков Python в причудливые таблицы ASCII. Table2Ascii позволяет отображать красивые таблицы в Terminal и Discord.

📥 Установить

pip install table2ascii

image.png

🧑‍💻 Использование

Преобразование списка в таблицу ASCII

from table2ascii import table2ascii

output = table2ascii(
    header=["#", "G", "H", "R", "S"],
    body=[["1", "30", "40", "35", "30"], ["2", "30", "40", "35", "30"]],
    footer=["SUM", "130", "140", "135", "130"],
)

print(output)

вывод:

image.png

Установите заголовок первого или последнего столбца

from table2ascii import table2ascii

output = table2ascii(
    body=[["Assignment", "30", "40", "35", "30"], ["Bonus", "10", "20", "5", "10"]],
    first_col_heading=True,
)

print(output)

вывод:

image.png

Установить ширину столбца и выравнивание

from table2ascii import table2ascii, Alignment

output = table2ascii(
    header=["#", "G", "H", "R", "S"],
    body=[["1", "30", "40", "35", "30"], ["2", "30", "40", "35", "30"]],
    first_col_heading=True,
    column_widths=[5] * 5,  # [5, 5, 5, 5, 5]
    alignments=[Alignment.LEFT] + [Alignment.RIGHT] * 4, # First is left, remaining 4 are right
)

print(output)

вывод:

image.png

Используйте предустановленные стили

from table2ascii import table2ascii, PresetStyle

output = table2ascii(
    header=["First", "Second", "Third", "Fourth"],
    body=[["10", "30", "40", "35"], ["20", "10", "20", "5"]],
    column_widths=[10] * 4,
    style=PresetStyle.ascii_box
)

print(output)

вывод:

image.png

определить пользовательские стили

ПроверятьTableStyleбольше информации иPresetStyleПример.

from table2ascii import table2ascii, TableStyle

my_style = TableStyle.from_string("*-..*||:+-+:+     *''*")

output = table2ascii(
    header=["First", "Second", "Third"],
    body=[["10", "30", "40"], ["20", "10", "20"], ["30", "20", "30"]],
    style=my_style
)

print(output)

вывод:

image.png

🎨 Предустановленные стили

здесьСм. список всех предустановленных стилей.

⚙️ Опции

Все параметры являются необязательными.

опции тип дефолт описывать
header List[str] None Первая строка таблицы отделяется разделителем строк заголовка.
body List[List[str]] None Список строк в основной части таблицы
footer List[str] None Последняя строка таблицы отделяется разделителем строк заголовка.
column_widths List[int] автоматический Список ширины столбцов в символах для каждого столбца
alignments List[int] Центрировать все выравнивание каждого столбца (например,[Alignment.LEFT, Alignment.CENTER, Alignment.RIGHT])
first_col_heading bool False добавлять ли разделитель столбца заголовка после первого столбца
last_col_heading bool False добавлять ли разделитель столбца заголовка перед последним столбцом

👨‍🎨 Варианты использования

Discord-сообщения и вставки

  • Красиво отображает таблицы в блоках кода Markdown на Discord
  • для использованияDiscord.pyСделать бота в дискорде

image.png

вывод терминала

  • Пока моноширинные шрифты полностью поддерживаются, таблица будет отображаться нормально.
  • Таблицы делают вывод терминала более профессиональным

image.png

🧰 Развитие

запустить тесты (pytest)

python setup.py test

Флейк (флейк8):

python setup.py lint

GitHub

GitHub.com/Ван Хао221/…

Краткое резюме - программа Python реализует транслятор азбуки Морзе

Это все, что касается этой статьи, модуля для преобразования 2D-списков Python в причудливые таблицы ASCII/Unicode. Я надеюсь, что этот блог может помочь всем, и блогеры тоже учатся.Если есть какие-то ошибки, пожалуйста, покритикуйте и исправьте их. Если вам понравилась эта статья и вы хотите увидеть больше, вы можете прочитать ее здесь (Github/Gitee) Вот краткое изложение всего моего оригинального и рабочего исходного кода, следуйте за мной, чтобы увидеть больше статей.

🥇 Резюме серии Python для визуализации данных

🥈 Утилиты Python

🧵 Основы Python

🚀 Советы и вопросы для интервью

Если вы действительно узнали что-то новое из этой статьи, ставьте лайк, добавляйте в закладки и делитесь с друзьями. 🤗Наконец, не забудьте поддержать ❤ или 📑