コース: Python:データ構造

今すぐコースを受講しましょう

今すぐ登録して、23,200件以上登録されている、業界エキスパート指導のコースを受講しましょう。

ディクショナリーを応用する

ディクショナリーを応用する - Pythonのチュートリアル

コース: Python:データ構造

ディクショナリーを応用する

Dictionary の応用として、 Dictionary による キー別の集計処理を紹介します。 salesList.xlsx は、 架空のネットショップの 売上のリストです。 この売上のリストを、 商品区分コードの 県コード別に集計します。 集計対象の項目は、 売上数量、売上金額です。 集計のキーとなる 商品区分コードは C 列、 県コードは G 列です。 集計対象の売上数量は I 列、 売上金額は J 列です。 それから、表示用に、 D 列の商品区分、 H 列の県名も使います。 プログラムを見ていきましょう。 Excel シートを扱うために、 openpyxl ライブラリを インポートします。 openpyxl ライブラリは、 外部ライブラリなので、 あらかじめインストールしておく 必要があります。 pprint モジュールから、 pprint 関数をインポートします。 pprint 関数は、 Dictionary をわかりやすく 出力してくれます。 Dictionary による、 集計処理を見ていきましょう。 sales_data={} として、 Dictionary を初期化します。 for row in range で、 Excel のシートの 2行目から集計を開始します。 sect セクトには、 商品区分コードを入れます。 C 列ですね。 変数 pref には、 G 列の県コードを入れます。 quantity に売上数量、 amount に売上金額を入れます。 次の setdefault メソッドが Dictionary による キー集計処理の肝です。 setdefault メソッドは、 指定したキー、 ここでは sect つまり 商品区分コードですね。 商品区分コードが存在しなければ Dictionary に追加します。 もし存在すれば、何もしません。 ですから、キー別の集計に使えるわけです。 追加する値は、 商品区分の名前ですね。 それと、数量、金額として、 初期値に0を与えています。 これらの Dictionary を、 Dictionary の中に 入れるわけです。 次に、商品区分コードの 県コード別に集計するために、 sales_data の sect、 商品区分コードで、 setdefault メソッドを 実行します。…

目次