Linuxでエクセル・tsvなどのスプレットシート形式のデータを簡単操作!VisiData

VisiDataを使えば、Linuxでスプレットシート形式のデータが扱いやすくなります。

VisiData とは?

VisiDataは、コンソール画面上でエクセルやtsvなどのスプレットシート形式のデータを、見やすく・便利に扱えるツールです。

VisiData : https://jsvine.github.io/intro-to-VisiData/

VisiData 簡単な使い方

起動

vd コマンドで起動します。

$ vd

ファイルを終了

VisiDataで開いたファイルは、「q」で閉じます。

ファイルを開く

VisiDataのファイラーで、開きたいスプレッドシートにカーソルを合わせて、リターンで開きます。

vi風の操作(h:左、j:下、k:上、l:右)でカーソル移動します。

$ R
> write.table(head(iris), "iris.tsv", sep="\t", row.nemes=F)

上記のようにして、タブ区切りのサンプルデータを作成します。

テキストファイルとして開くと、とても読みにくい(ヘッダーとデータがずれるなど)です。

tsv ファイルをテキストデータとして表示

しかし、VisiDataを利用すると、とても見やすくなります。

$ vd iris.txt

対応しているスプレッドシート形式のデータ

対応している主なファイル形式(一部、よく使うものだけ)

  • csv : カンマで区切られたテキストファイル
  • tsv : タブで区切られたテキストファイル
  • xlsx : エクセル形式のファイル

VisiData インストール

$ sudo apt install VisiData

VisiData よく使うコマンド

移動

  • h:左
  • j:下, gj:一番下の行
  • k:上, gk:一番上の行
  • l:右
  • 波括弧({):選択した行を上に移動
  • 波括弧(}):選択した行を下に移動

並べ替え

  • 角カッコ([) : 昇順ソート
  • 角カッコ(]) : 降順ソート

型の変換

VisiDataでは列の内容を文字列として扱うので、型の変換を行うと正しくソートできるようになります。

  • ~ : 文字列
  • # : 整数
  • % : 小数

検索

  • /:選択中の列を検索
  • g/:全体で検索
  • n:検索結果を次へ移動
  • N:検索結果を前へ移動

フィルタリング

  • | : 指定した正規表現に合致した行を選択
  • ” : 選択された行だけを抽出
  • – : 選択中の列を隠す
  • C : 各列の列幅を一覧表示(0は隠れた列、数を編集すると列が表示される)

まとめ

  • VisiDataは、コンソール画面上でスプレットシート形式のデータを扱うのに便利。
  • VisiDataの操作は、vi風
  • コマンドがたくさんあって、単なる閲覧だけでなく、フィルタリングなども簡単にできる。

Software Design 2020年9月号の特集記事を参考に調べました。良い意味で期待を裏切られた機能がとても多いツールで、使いこなすと楽しいだろうな、と思います。

fujisan.co.jpデジタル版を購入する
/~\Fujisan.co.jpへ