Довольно печатный CSV с множеством столбцов с каждой строкой в ​​виде таблицы - PullRequest
0 голосов
/ 29 мая 2020

У меня очень большой CSV с ~ 50 столбцами, например:

A,B,C,...,Z
v1,,v3,...,v26
w1,w2,w3,...,w26

Я хочу отобразить его в консоли, но такие инструменты, как column -t, не работают, потому что каждая строка слишком длинная и обертывает, что делает его невозможным для чтения.

Моя цель - отображать его строка за строкой, при этом каждая строка отображается в виде таблицы, например <ColumnName> | <Value>:

----------
A |  v1
B |  
C |  v3
...
Z |  v26
----------
<blank line>
----------
A |  w1
B |  w2
...
Z |  w26
----------

Ответы [ 2 ]

0 голосов
/ 30 мая 2020

Вы должны отключить перенос слов, и вы можете использовать column таким образом

<input column -t -s, | less 
0 голосов
/ 30 мая 2020

Использование awk:

$ awk -F, 'NR == 1 { for (i = 1; i <= NF; i++) h[i] = $i; next }
           { print "----------"
             for (i = 1; i <= NF; i++) printf "%s | %s\n", h[i], $i
             print "----------\n"
           }' input.csv
----------
A | v1
B |
C | v3
... | ...
Z | v26
----------

----------
A | w1
B | w2
C | w3
... | ...
Z | w26
----------
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...