ライブラリ:csvtomd

Python のライブラリ「 csvtomd 」をご紹介します。

$ pip3 install csvtomd

csvtomd は「 CSV を Markdown のテーブルに変換」するツールです。名前そのままですね。プログラムの中で import して使用するものではなく、ターミナル上で利用できるコマンドを提供してくれます。 Python のコードを書かなくても日頃 Markdown を使う方であれば利用することができます。

コマンド名はそのまま「 csvtomd 」です。

インストール

インストール方法は pip でそのままインストールします。 Python 3 にのみ対応しているとのことで、公式では pip3 でのインストールコマンドが紹介されています。

$ pip3 install csvtomd

使い方

使い方はシンプルで、対象となる CSV のファイル名を引数に渡すだけです。 CSV を解釈し Markdown 化したテーブルを出力してくれます。日本語にもばっちり対応しています。

$ # 対象の CSV を確認
$ cat analysis.csv
名前,鼻,爪
犬,◯,出しっぱなし
猫,△,収納可
人間,×,出しっぱなし
$ # csvtomd で CSV を Markdown に変換
$ csvtomd analysis.csv
名前  ||  爪
----|-----|--------
犬   ||  出しっぱなし
猫   ||  収納可
人間  |  ×  |  出しっぱなし

変換対象のファイルは複数受け取ることも可能です。

利用可能なオプションは次のとおりです。

  • -h --help: ヘルプを表示する。
  • -n --no-filenames: 複数の Markdown テーブルを出力する際にファイル名を表示しない。
  • -p --padding: パディングの半角スペースの数を整数で指定する。デフォルトは 2 。
  • -d --delimiter: 区切り文字を指定。デフォルトは , 。

以上です。

私はここ数年、仕事をしている日はほぼ毎日 Markdown を触りますが、 Markdown ではテーブルの編集が大変で・・・なかなかテーブルを使いたくありません。テーブルについてはスプレッドシートツールを使う方がずっとかんたんなので、テーブルについてはあえてひと手間入れて「スプレッドシートで編集 → csvtomd などで Markdown 化 → Markdown に貼り付け」の形がよいなぁと思います。