Jaki jest najbardziej efektywny sposób konwersji danych rozdzielanych tabulatorami, takich jak ten:
a b c d cat
NULL NULL NULL NULL NULL
NULL NULL NULL d d
NULL NULL c NULL c
NULL NULL c d c; d
NULL b NULL NULL b
NULL b NULL d b; d
NULL b c NULL b; c
NULL b c d b; c; d
a NULL NULL NULL a
a NULL NULL d a; d
a NULL c NULL a; c
a NULL c d a; c; d
a b NULL NULL a; b
a b NULL d a; b; d
a b c NULL a; b; c
a b c d a; b; c; d
Coś blisko tego:
a | b | c | d | cat
-----+------+------+------+-----------
NULL | NULL | NULL | NULL | NULL
NULL | NULL | NULL | d | d
NULL | NULL | c | NULL | c
NULL | NULL | c | d | c; d
NULL | b | NULL | NULL | b
NULL | b | NULL | d | b; d
NULL | b | c | NULL | b; c
NULL | b | c | d | b; c; d
a | NULL | NULL | NULL | a
a | NULL | NULL | d | a; d
a | NULL | c | NULL | a; c
a | NULL | c | d | a; c; d
a | b | NULL | NULL | a; b
a | b | NULL | d | a; b; d
a | b | c | NULL | a; b; c
a | b | c | d | a; b; c; d
Obecnie używam Notepad ++ w następujący sposób:
- Konwertuj tabulatory na spacje
- Wyrównaj dane ręcznie
- Użyj trybu kolumny, aby wstawić rury
Drugi krok jest najbardziej uciążliwy i wolałbym przynajmniej zautomatyzować tę część.
Uwaga: korzystam z przeglądarki podczas pracy i czasami mam obok edytora tekstu. Skuteczne rozwiązanie to takie, które wymaga najmniej wysiłku. Mogę użyć:
- Notepad ++
- Ogólny edytor tekstowy z obsługą wyrażeń regularnych znajdź / zamień
- JavaScript wpisany w konsoli przeglądarki
- Usługa online
- PHP w wierszu poleceń (
php -a
)
conversion
csv
text-formatting
ascii
Salman A.
źródło
źródło
awk
skrypt.{{(⊃⍵)⍪⍉⍪↑¨↓⍉↑1↓⍵}s¨'⎕T'⎕T¨(s←1↓¨⊢⊂⍨⊢=⊃)¯1⌽⍵}
wydaje się wystarczająco miły do pracy, co?)Odpowiedzi:
Jak przekonwertować wartości rozdzielane tabulatorami na tabelę ASCII?
Do tego rodzaju zadań używam Generatora tabel tekstowych .
Wkleiłem twoje dane na tej stronie i utworzyłem następującą tabelę:
Następnie możesz skopiować to wyjście (generator wykonał większość ciężkiej pracy), wkleić do notatnika ++ i odpowiednio wyczyścić.
źródło
Jeśli potrzebujesz rozwiązania wiersza polecenia, możesz także użyć pandoc z filtrem umożliwiającym umieszczenie pandoc .
Umieść swój stolik
foo.txt
i wykonaj:Co powoduje
output.md
:Aby czytać ze STDIN, pomiń
--file
argument. Aby wydrukować do STDOUT, pomiń-o
argument.źródło
Pomysł ruslana na użycie
column
komendy Unix / Linux jest dobry, ale wiersz poleceń podany w ich odpowiedzi nie do końca działa. Przede wszystkimcolumn
nie rozpoznaje\t
(lub\\t
) w wierszu poleceń jako karty. Jeśli takbash
, możesz to zrobićW przeciwnym razie możesz to zrobić
Ale nawet to nie odpowiada na pytanie. W ten sposób możesz uzyskać pionowe paski
co daje wynik podobny do
Ręczne dodawanie linii myślnika po nagłówku nie jest tak uciążliwe.
Jeśli nie masz dostępu do pełnego systemu Unix / Linux, możesz do tego użyć Cygwin lub jednego z innych uniksowych lajków.
źródło
set ts=4
ustawienia Vima ).