Web アプリなどを作成中に CSV ファイルを扱う機会は多いと思うが、その編集方法や閲覧方法はなかなか悩ましい問題だと思う。基本的には Excel のような表計算ソフトを使う事になると思うがせっかくテキストエディタで開ける CSV ファイルを重いオフィス製品で開くのはそのメリットを活かせないし、ただ升目上に表示するだけなので扱いやすいとは言えない。
エディタに VSCode を利用しているのであれば、Rainbow CSV という拡張機能を利用して CSV ファイルの閲覧や編集をしてみよう。
Rainbow CSV - Visual Studio Marketplace
Rainbow CSV 拡張機能を利用すると、CSV ファイルを色分けして見やすく表示したり、マウスオーバーでカラムの情報を表示、CSV Linter 機能、さらには SQL のように CSV ファイルを操作する RBQL までも搭載されている。
この拡張機能を入れた状態で CSV ファイルを開くとこのようにカラム別に色分けして表示される。対応しているファイルは CSV(カンマ区切り)だけでなく TSV(タブ区切り) や、セミコロン、パイプ区切りにも対応しているようだ。値はマウスオーバーするとヘッダーの値をポップアップで表示するので、どの値なのかがわかりやすい。
ただ CSV ファイルを分かりやすく表示するだけでなく、RBQL と呼ばれる SQL のようなクエリー言語を利用して CSV ファイルを操作することもできる。
RBQL はデフォルトでは JavaScript を利用したクエリー言語となっており、JavaScript のメソッドを利用できる。例えば上記スクリーンショットのように
select a1,a2,a3,a4 where a1.indexOf('th') >= 0
と実行すると、a1 カラムに th が含まれている行のみを抽出して表示できる。
利用できる SQL キーワードは以下の通り
- SELECT
- UPDATE
- WHERE
- ORDER BY ... [ DESC | ASC ]
- [ LEFT | INNER ] JOIN
- DISTINCT
- GROUP BY
- TOP N
- LIMIT N
より詳しい情報は GitHub にある公式ドキュメントを参照してほしい。
vscode_rainbow_csv/README.md at master · mechatroner/vscode_rainbow_csv · GitHub
このように単に表示を見やすく色分けするだけでなく、RBQL を利用した複雑な処理も可能となる、とても高機能な拡張機能となっている。CSV ファイルを扱う機会が頻繁にあるなら使いこなせるようになると作業効率がかなり上がると思う。
コメント