Table of Contents
次のような 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
の中で使うi
はemumerate
を使って作ることもできます。 次のコードではenumerate
を使っています。
分類項目表の作成
上の掛け合わせ表の各項目とその値について次のような表を作りたい場合
項目 | 値 |
---|---|
エリア | 日本 |
アメリカ | |
イギリス | |
性別 | 男 |
女 | |
身長 | 100cm以上 |
100cm未満 |
Python で次のように書くと、カンマ区切りのものが出力されます。
それをスプレッドシートに貼り付けるとうまい具合に表ができます。
まとめたコード
これを対話型で進められるひとつのPythonファイルにすると次のようになります。