Python: スプレッドシートで各要素の掛け合わせの表を作る


次のような Python ディクショナリ型 の値をスプレッドシートに表の形で記述することを考えます。

環境

  • Python 3.7.6
  • Linux

掛け合わせ表の作成 (直積)

スプレッドシートで次のような各要素を掛け合わせた表を作ります。

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

Python で次のように書くと、カンマ区切りのものが出力されます。

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

補足

  • itertools.product を使って、 複数のリストの掛け合わせを作っています。 この関数は可変長引数ですから、 *pattern.values() と書いてリストを展開する書き方にしています。
  • for の中で使う iemumerate を使って作ることもできます。 次のコードでは enumerate を使っています。

分類項目表の作成

上の掛け合わせ表の各項目とその値について次のような表を作りたい場合

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

Python で次のように書くと、カンマ区切りのものが出力されます。

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

まとめたコード

これを対話型で進められるひとつのPythonファイルにすると次のようになります。