もうこれ系の仕事について18年になる。よその業界の人から見ると「なんかパソコン使ってやる人」にひとくくりにされそうだが、職場によって結構やってることは違った。
そんな中でも振り返ってみるとそこそこでかい単ファイル(csv)を見る機会は結構あって、その都度なんかいいのないかと探していた気がするが多分これでいいんじゃね?
やりたいこと・できること
そんなひとには良い。公式にもあるが、ガチ分析には向かん。
あと追加の言い訳。今の時代はS3みたいなオブジェクトストレージにそこそこのサイズで切片化してファイルを置くのが正義です。単ファイルのごついCSVは時代に逆行する。切片化したデータを読む場合は、ぱっと調べた感じは visidataはプラグインで対応するらしい。
GitHub - ajkerrigan/visidata-plugins: Custom plugins for https://github.com/saulpw/visidata/
用途は異なるが、大は小を兼ねると考えるならば、切片化されたデータは素直にjupyter/panda(ガチ分析可能)で扱えるようにdask
使ったほうが楽やと思う。
チュートリアル(+おまけ)
ご丁寧にチュートリアルがついているのでやります。 An Introduction to VisiData — An Introduction to VisiData
とりあえずインストールして vd
コマンドが通るようにします。
次に手持ちのデータでもいいですが、何かネタがほしいので、これもチュートリアルについてるデータをダウンロードします。
https://jsvine.github.io/intro-to-visidata/_downloads/83e70cf67e909f3ac177575439e5f3c5/faa-wildlife-strikes.csv
それで
vd faa-wildlife-strikes.csv
わお、テンション爆上げ。矢印キーとかでも動かせる。
この画面も含めたチートシートがあるので、ポイントしておきます。 https://jsvine.github.io/visidata-cheat-sheet/en/
個人的にこれは嬉しいのを書き出すと
c
カラムを探す、いっぱいカラムがあるときにジャンプ_
カラムの幅を広げる/
選択している絡むの中からパターンマッチでデータを探す、Null以外のデータを見つけたいとかなら.+
とかすればよろし[
or]
そのカラムでソートする、あまりにデータがでかいとちょっとしんどい
つぎに何かカラムを選んでSHIFT-f
を押せって書いてあるので押すと。
うお、まじか、ヒストグラム出るやんけ。
ま、あとはSHIFT-h
ヘルプだけやね。
まとめ&余談
実はこれに似たコンセプトのツールって昔からたくさんあるんです。目的から考えれば、テキストにSQLを打つ的な実現できれば、用途は満たしそうだけど、その手のツールってvisidataほど敷居が低くない、というかビュワーの延長として簡易解析ができるというコンセプトが良いなと思う。機能拡張はプラグインでというのも良い。
最近テキストにSQL系のツールで見たのは、local-dockerとかsqliteでRDBMSを動かしてテキストをロードするってやつだった。本物のSQLが通るのは魅力だが、やっぱりいくらdockerとかで複雑さを隠しても、ちょっとわかってらっしゃる人向けな感じはする。まあ、ちょっとわかっている人以外、本物のSQLなどいらないと考えたらこの手のツールは便利ではあるが。