分類の項目一覧・分類表ヘッダを作る


仕事をしているといろんなものを分類していくことがあります。 そんなとき、分類表を作ることがあるのですが、いちいちテキスト入力で作っていくのはだいぶ骨の折れる作業です。 ここではそんな分類表と分類項目一覧を Python で出力するコードを紹介します。 (ちょうど Python で作業していたので Python で書きました。)

前提

たとえば、なにかを次のカテゴリで分けたいとします。

この分類表は次のようになります。

エリア 性別 身長
1 日本 100cm以上
2 日本 100cm未満
3 日本 100cm以上
4 日本 100cm未満
5 アメリカ 100cm以上
6 アメリカ 100cm未満
7 アメリカ 100cm以上
8 アメリカ 100cm未満
9 イギリス 100cm以上
10 イギリス 100cm未満
11 イギリス 100cm以上
12 イギリス 100cm未満

分類一覧は次のようになります。

項目
エリア 日本
アメリカ
イギリス
性別
身長 100cm以上
100cm未満

まだ分類項目が少ないからテキストを入力してもなんとかなりますが、増えてくると幾何級数的にやることが増えます。 これを Python でやってみます。 CSVとして出力し、それをコピー&ペーストでスプレッドシートに貼り付けます。

まず今回の分類を Python で表現します。

これを使って分類一覧と掛け合わせ表を作ります。

分類一覧を作りたい場合

Python で次のように書くと、 CSV形式で出力されます。

Output

これをスプレッドシートに貼り付けると、うまい具合に表ができます。

分類表 (直積、掛け合わせ表) を表示する

Python で次のように書くと、 CSV形式で出力されます。

itertools.product を使って直積を簡潔に作成しています。 i は出力する番号として1ずつ加算しています。

Output

これをスプレッドシートに貼り付けると、うまい具合に表ができます。

まとめたコード

上記のコードをまとめて対話型で実行できるようにすると次のようになります。

これを実行すると対話型で表を出力することができます。 区切り文字等を設定することができ、 prefix, suffix を設定することで Markdown の表を作ることもできます。

Output Example