環境
概要
普段仕事にて、csvを扱うことがよくあるのですが
CUIでのcsvビューワーがあるようなので入れてみます
インストール
$ cargo install exa
文字コードが違う!!
$ csview a.csv
[error] input is not utf8 encoded
またもエラー。
文字コードがutf8じゃないと駄目だと。
csviewのgithubのREADMEに書いてある通りiconvをかませば行けるよう。
$ iconv -f shift-jis -t UTF8//TRANSLIT a.csv| csview
+-------------+----------+----------------+
| コード | 名称 | 説明 |
+-------------+----------+----------------+
| abc | 消しゴム | よく消えるよ |
| ABCDEFGHIJK | えんぴつ | もちやすいよ |
| | | 芯も折れにくい |
+-------------+----------+----------------+
行けた!!!!
見た目の種類を確認
$ ./csview --help
csview 0.3.5
A high performance csv viewer with cjk/emoji support.
USAGE:
csview [FLAGS] [OPTIONS] [FILE] [SUBCOMMAND]
FLAGS:
-h, --help Prints help information
-H, --no-headers Specify that the input has no header row
-t, --tsv Use '\t' as delimiter for tsv, overrides '-d' option
-V, --version Prints version information
OPTIONS:
--style <border> Specify the border style [default: Ascii] [possible values: None, Ascii, Sharp, Rounded, Reinforced, Markdown, Grid]
-d, --delimiter <delimiter> Specify the field delimiter [default: ,]
ARGS:
<FILE> File to read
SUBCOMMANDS:
completion Generate shell completion file
help Prints this message or the help of the given subcommand(s)
とのことで、--style
でいろいろ変えれるみたい。
$ iconv -f shift-jis -t UTF8//TRANSLIT a.csv| csview --style none
コード 名称 説明
abc 消しゴム よく消えるよ
ABCDEFGHIJK えんぴつ もちやすいよ
芯も折れにくい
$ iconv -f shift-jis -t UTF8//TRANSLIT a.csv| csview --style ascii
+-------------+----------+----------------+
| コード | 名称 | 説明 |
+-------------+----------+----------------+
| abc | 消しゴム | よく消えるよ |
| ABCDEFGHIJK | えんぴつ | もちやすいよ |
| | | 芯も折れにくい |
+-------------+----------+----------------+
$ iconv -f shift-jis -t UTF8//TRANSLIT a.csv| csview --style sharp
┌─────────────┬──────────┬────────────────┐
│ コード │ 名称 │ 説明 │
├─────────────┼──────────┼────────────────┤
│ abc │ 消しゴム │ よく消えるよ │
│ ABCDEFGHIJK │ えんぴつ │ もちやすいよ │
│ │ │ 芯も折れにくい │
└─────────────┴──────────┴────────────────┘
$ iconv -f shift-jis -t UTF8//TRANSLIT a.csv| csview --style rounded
╭─────────────┬──────────┬────────────────╮
│ コード │ 名称 │ 説明 │
├─────────────┼──────────┼────────────────┤
│ abc │ 消しゴム │ よく消えるよ │
│ ABCDEFGHIJK │ えんぴつ │ もちやすいよ │
│ │ │ 芯も折れにくい │
╰─────────────┴──────────┴────────────────╯
$ iconv -f shift-jis -t UTF8//TRANSLIT a.csv| csview --style reinforced
┏─────────────┬──────────┬────────────────┓
│ コード │ 名称 │ 説明 │
├─────────────┼──────────┼────────────────┤
│ abc │ 消しゴム │ よく消えるよ │
│ ABCDEFGHIJK │ えんぴつ │ もちやすいよ │
│ │ │ 芯も折れにくい │
┗─────────────┴──────────┴────────────────┛
$ iconv -f shift-jis -t UTF8//TRANSLIT a.csv| csview --style markdown
| コード | 名称 | 説明 |
|-------------|----------|----------------|
| abc | 消しゴム | よく消えるよ |
| ABCDEFGHIJK | えんぴつ | もちやすいよ |
| | | 芯も折れにくい |
$ iconv -f shift-jis -t UTF8//TRANSLIT a.csv| csview --style grid
┌─────────────┬──────────┬────────────────┐
│ コード │ 名称 │ 説明 │
├─────────────┼──────────┼────────────────┤
│ abc │ 消しゴム │ よく消えるよ │
├─────────────┼──────────┼────────────────┤
│ ABCDEFGHIJK │ えんぴつ │ もちやすいよ │
│ │ │ 芯も折れにくい │
└─────────────┴──────────┴────────────────┘
普段は改行がよくされるようなcsvを扱うことが多いので、個人的にはgridが一番よいですかねー。
エイリアス
毎回iconvの指定をするのはめんどくさいのでエイリアス(function)を用意しておこうと思います
shift-jisへの変換だからcsview
+ s
でcsviews
にしました。。
ついでに表示のstyleも乗っけておきます
function csviews() {
command iconv -f shift-jis -t UTF8//TRANSLIT $1 | csview --style grid
}
$ csviews a.csv
┌─────────────┬──────────┬────────────────┐
│ コード │ 名称 │ 説明 │
├─────────────┼──────────┼────────────────┤
│ abc │ 消しゴム │ よく消えるよ │
├─────────────┼──────────┼────────────────┤
│ ABCDEFGHIJK │ えんぴつ │ もちやすいよ │
│ │ │ 芯も折れにくい │
└─────────────┴──────────┴────────────────┘
あー便利。
まとめ
大きいものを見るときはしんどそうですが、ちょっとした確認でわざわざソフトで開いたりするのも面倒・・というときには
とても便利そうです。
qiita上では見た目が行間のpaddingが効いてしまってるため線が分かれてるのですが、実際のコンソール上では線はきれいにくっついて引かれているので
ぜひ気になった方は実際に試してみてみてください。