CSV na kolumny tekstowe

Czasem potrzebujesz danych ułożonych w czytelne kolumny bez wprowadzania Markdown, HTML ani arkusza, blok kodu w README, raport przyjazny terminalowi, zwykły e-mail tekstowy do zespołu ops. Ten konwerter czyta dane CSV (albo rozdzielane tabulatorem, średnikiem, pionową kreską) i emituje kolumny dopełnione spacjami, gdzie każda komórka jest dopełniona do szerokości najszerszej komórki w tej kolumnie. Wynik wyrównuje się idealnie w foncie o stałej szerokości.

Jak wyrównywane są kolumny

  1. 1

    Wklej dane

    Działa dowolny popularny separator plików płaskich: przecinek, tabulator, średnik albo pionowa kreska.

  2. 2

    Wybierz separator

    Narzędzie parsuje komórki w cudzysłowie przez `str_getcsv`, więc osadzone separatory wewnątrz cudzysłowów są respektowane.

  3. 3

    Zmierzone szerokości kolumn

    Dla każdej kolumny konwerter znajduje najszerszą komórkę we wszystkich wierszach i zapisuje ją jako szerokość docelową.

  4. 4

    Komórki dopełnione spacjami

    Każda komórka jest dopełniana spacjami z prawej do szerokości kolumny; kolumny łączone są dwiema spacjami między nimi.

Dlaczego font o stałej szerokości ma znaczenie dla tego wyniku

Wyrównanie dopełniane spacjami działa tylko wtedy, gdy każdy znak ma tę samą szerokość. W fontach proporcjonalnych (Helvetica, Arial, tekst zasadniczy twojego bloga) i zajmuje mniej miejsca w poziomie niż M, więc kolumny będą wyglądać na niewyrównane, mimo że każda komórka ma tę samą liczbę spacji.

Gdzie renderuje się poprawnie

  • Bloki kodu Markdown ( ``` )
  • Elementy HTML <pre> i <code>
  • Wynik w terminalu, pliki logów
  • Pola tekstu sformatowanego ustawione na font o stałej szerokości (większość IDE, treść zgłoszeń w Gitei)

Gdzie będzie wyglądać na zepsute

  • Zwykłe akapity we wpisach na blogu
  • Gmail i większość klientów e-mail (domyślnie używają fontów proporcjonalnych)
  • Wiadomości na Slacku poza grawisami
  • Bloki zwykłego tekstu w Notion

Alternatywy dla czytelnej dla ludzi prozy

Wynik docelowy Polecane narzędzie
Strona www CSV na tabelę HTML
README na GitHubie Konwerter CSV na Markdown
Arkusz CSV na Excel
Ładunek API CSV na JSON

Wskazówki

  • Krótkie komórki wygrywają. Bardzo długie wartości zmuszają kolumnę do skrajnie dużej szerokości. Najpierw skróć długi tekst albo pozwól mu się zawijać, przetwarzając wynik linia po linii.
  • Wyrównanie tabulatorami to co innego. Jeśli chcesz wynik rozdzielany \t do wklejenia do arkusza, pomiń to narzędzie i użyj zwykłego eksportu TSV, wyrównanie i tak załamie się w arkuszu.
  • Szerokie znaki Unicode liczą się inaczej. Konwerter mierzy przez mb_strlen, który liczy punkty kodowe. Podwójnie szerokie znaki CJK będą technicznie szersze, niż sugeruje ich liczba; wizualnie mogą się przesuwać w niektórych terminalach.

Najczęściej zadawane pytania

Narzędzie dopełnia komórki znakami spacji. W fontach proporcjonalnych i zajmuje mniej miejsca w poziomie niż M, więc nawet jeśli liczba spacji jest poprawna, piksele się nie zgadzają. Renderuj wewnątrz bloku kodu albo ustaw font na stałą szerokość.

Nie bezpośrednio, to narzędzie używa podwójnych spacji jako separatorów. Dla widoku wyrównanego z pionowymi kreskami przetwórz wynik, zastępując podwójną spację |, albo użyj konwertera CSV na Markdown dla tabeli w stylu GFM.

Brakujące komórki są dopełniane spacjami do szerokości kolumny, więc wynik pozostaje prostokątny i schludnie się wyrównuje.

Tak. Wklejany tekst jest wysyłany na nasz serwer, aby narzędzie mogło wyrównać kolumny. Nie jest przechowywany ani dodawany do linku strony.

Powiązane narzędzia