Перевод столбцов из CSV в текстовый формат

Иногда данные нужно представить в виде читаемых столбцов, не прибегая к Markdown, HTML или электронной таблице: блок кода в README, удобный для терминала отчёт, обычное текстовое письмо команде эксплуатации. Этот конвертер принимает данные в формате CSV (а также с разделителем-табуляцией, точкой с запятой или вертикальной чертой) и выдаёт столбцы, заполненные пробелами: каждая ячейка дополняется до ширины самой широкой ячейки этого столбца. Результат идеально выравнивается в моноширинном шрифте.

Как выровниваются столбцы

  1. 1

    Вставьте данные

    Подходит любой распространённый разделитель плоских файлов: запятая, табуляция, точка с запятой или вертикальная черта.

  2. 2

    Выберите разделитель

    Инструмент разбирает ячейки в кавычках с помощью `str_getcsv`, поэтому разделители внутри кавычек не нарушают структуру.

  3. 3

    Измеряется ширина столбцов

    Для каждого столбца конвертер находит самую широкую ячейку по всем строкам и запоминает её как целевую ширину.

  4. 4

    Ячейки дополняются пробелами

    Каждая ячейка дополняется пробелами справа до ширины столбца, а столбцы разделяются двумя пробелами.

Почему монопозиционная конструкция важна для данного решения

Выравнивание пробелами работает только тогда, когда все символы имеют одинаковую ширину. В пропорциональных шрифтах (Helvetica, Arial, шрифт основного текста вашего блога) символ i занимает меньше места по горизонтали, чем M, поэтому столбцы будут выглядеть неровными, даже если в каждой ячейке одинаковое число пробелов.

Где отображается правильно

  • Блоки кода в Markdown ( ``` )
  • HTML-элементы <pre> и <code>
  • Вывод терминала, файлы журналов
  • Поля форматированного текста с моноширинным шрифтом (большинство IDE, тела задач в Gitea)

Где будет выглядеть сломанным

  • Обычные абзацы в записях блога
  • Gmail и большинство почтовых клиентов (по умолчанию используют пропорциональные шрифты)
  • Сообщения в Slack за пределами обратных кавычек
  • Блоки обычного текста в Notion

Альтернативы для читаемого человеком текста

Целевой формат Что использовать
Веб-страница CSV в таблицу HTML
README на GitHub CSV в Markdown
Электронная таблица CSV в Excel
Данные API CSV в JSON

Советы

  • Короткие ячейки выигрывают. Очень длинные значения заставляют столбец становиться чрезмерно широким. Сначала обрежьте длинный текст или разбейте его на строки, обработав вывод построчно.
  • Выравнивание табуляцией работает иначе. Если вам нужен вывод, разделённый символом \t, для вставки в электронную таблицу, не используйте этот инструмент, а сделайте обычный экспорт в TSV: в самой таблице выравнивание всё равно нарушится.
  • Широкие символы Unicode считаются иначе. Конвертер измеряет ширину с помощью mb_strlen, который считает кодовые точки. Двойные по ширине символы CJK технически шире, чем следует из их количества, и в некоторых терминалах могут визуально смещаться.

Часто задаваемые вопросы

Инструмент дополняет ячейки пробелами. В пропорциональных шрифтах символ i занимает меньше горизонтального пространства, чем символ M; поэтому, несмотря на правильное количество пробелов, пиксели не совпадают. Отображайте текст внутри блока кода или задайте моноширинный шрифт.

Не напрямую: этот инструмент использует двойные пробелы в качестве разделителей. Чтобы получить выровненное отображение с разделителем-вертикальной чертой, выполните дополнительную обработку, заменив двойные пробелы на |, или воспользуйтесь конвертером CSV в Markdown для создания таблицы в формате GFM.

Отсутствующие клетки заполняются пробелами до достижения ширины столбца, что обеспечивает прямоугольную форму результата и его аккуратное выравнивание.

Да. Вставленный текст отправляется на наш сервер, чтобы инструмент мог выровнять столбцы. Он не сохраняется и не добавляется в ссылку на страницу.

Сопутствующие инструменты

Счётчик слов

Подсчитайте слова, символы, предложения и абзацы с учётом времени чтения, времени произнесения вслух, плотности ключевых слов и оценки удобочитаемости по Флешу, для эссе, постов, подписей и meta-описаний.

Генератор названий городов

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

Символ «меньше или равно»

Копируйте знак ≤ и связанные математические символы сравнения. Включает Unicode, HTML-сущности и разметку LaTeX для электронных таблиц, научных работ и веб-страниц.

Символы стрелок для копирования

Копируйте популярные Unicode-стрелки одним щелчком: прямые, двойные, диагональные, крючковые, круговые и треугольные для документов, чатов и дизайна.

Переводчик в шрифт Брайля

Переводите текст в шрифт Брайля Unicode 1-го уровня и декодируйте Брайль обратно в буквы. Обрабатывает заглавные буквы, цифры и знаки препинания.

Генератор красивого текста

Преобразуйте обычный текст в шесть стилей Unicode: обведённый кружком, полной ширины, моноширинный, рукописный, фрактурный и с двойным контуром, для био, подписей и имён пользователя.