スタプラレースのグラフ作成をpythonで自動化しました

こんにちは。はちまき代表の秋葉です。今回はスタプラレースのグラフ作成を自動でやってくれるプログラムを書いたので紹介します!

スタプラレースとは

 スタプラレースとは、Study Plusの記録を集計して勉強のモチベーションアップにつなげようという目的で行っている企画です。Study Plusとは勉強の内容を記録する機能を持ったSNSです。

 スタプラレースでは、記録時間・記録数・記録日数の3つのジャンルで記録を競います。それぞれの記録を毎週末集計し、Excelにまとめたものをグラフにしてグループラインで公開しています。

 今回は、このグラフ作成の作業を自動で行えるようにプログラムを作成しました。


プログラムの概要

 今回のプログラムはExcelを操作するという目的だったのでPythonのopenpyxlというライブラリを使用することにしました。openpyxlを使用することでPythonからExcelを操作するプログラムを書くことができます。

 私が作成したプログラムの内容は大きく分けて以下の2点です。

・使用したい値をソートして新しいシートとして作成する

・作成したシートの値からグラフを作成する


使い方

 まず、Study Plusからみんなの勉強の記録を集計したExcelファイルを用意します。Excelファイルは以下のようなデータが入っています。

 

 次にグラフの作成を行います。ここで今回制作したプログラムの出番です。プログラムを実行することで以下の画像のように「記録時間」「記録数」「記録日数」のシートがそれぞれ追加されます。そして、それぞれのシートのB50セルにグラフが作成されています。

実行結果は以下のようになります。

プログラムの詳細

 ここでは簡単にどのようなプログラムで動いているのかを説明します。

〇ソート部分

ここはデータをソートするためのプログラムです。

dfにExcelのデータを読み込みます。sheet_name=”【読み込みたいシート名】”とすることで読み込むシートを指定しています。

次にdf_study, df_num, df_timeの変数それぞれにシート名と昇順にするためにTrueを指定しました。


〇グラフ作成部分

ここでは、ファイルの読み込み・グラフの大きさ・グラフのタイトルなどを指定しています。

ここでは、グラフ作成する列、項目になる列を指定して、グラフ本体に設定します。

最後に、グラフの色・棒グラフの向き、形式・グラフの間隔・貼り付ける位置を指定しています。


制作してみての感想

 今回、グラフを自動作成するプログラムを作成することでスタプラレースを行うにあたって作業の手間を少し省くことができるようになったと感じました。スタプラレースは人気のある企画のため、次回開催することがあれば実際に活用してみたいと思いました。

 反省点としては、コードの内容を理解していないとプログラムの変更が必要になった際に使用ができなくなる点があるため、誰でも変更が可能にできるようにコメントを詳しく書くことに気を付けるべきだったかなと思いました。

Excelの自動操作をするプログラムを作成するのは今回が初めての経験でしたが20時間程度で完成させることができたことと新しい分野を学ぶきっかけになったのでとても楽しい時間でした。

【参考サイト】
https://www.shibutan-bloomers.com/python_libraly_openpyxl-10/3260/


この記事が気に入ったらサポートをしてみませんか?