はじめに
前回は、ZiDOMA dataで取得したCSVファイルの活用方法して
どのような分析レポートを作成するか検討した方法をお伝えしました。
また、実際に試作レポートを作成したときにかかった時間を考えると
CSVファイルから分析レポートを作成するまでに
非常に工数がかかってしまうため、Pythonで自動化するが必要だと考えたとも
お伝えしました。
今回、自動化する流れとして以下の図のように実現しました。
※1 あくまでもイメージです。
※2 ★印の部分が今回の記事の内容になります。
参考:
"100TB"のファイルサーバにあるファイルを断捨離するために(3) ~データ活用検討編~
https://qiita.com/karin_to/items/a2ee0d8332f1151b3b87
※また、前回の記事では今回の記事でデータを処理するためのpandasライブラリを
ご紹介しますと書きましたが、次回以降の記事でご紹介させていただきます。
まずは、以下のベースとなる部分をご紹介させていただこうと思います。
ツール作成の概要
ツール作成の概要は以下の図のようになります。
1つ目の項目は、前回のデータ活用検討で採用したレポートをひな型として
Excelを作っておくだけなので、この回では割愛します。
2つ目以降の項目、特に今回はオレンジの枠の部分、
データを処理する前に必要なCSVファイルを読み込み、
Excelのテンプレートファイルを読み込み/保存する部分をご紹介します。
この部分を先に作っておけば、あとは基本的にデータを整理してExcelファイルに
結果を転記していく処理を作りこむだけでよいからです。
CSVファイルを読み込む
まずはZiDOMA dataで作成したCSVファイルのデータを読み込む処理が必要となります。
CSVファイルを読み込む方法はいくつかあるようですが、
今回ご紹介する方法が個人的に一番簡単でした。
この2行だけでCSVファイルをすべて読み込むことができました。
# CSVライブラリを使いますよという宣言
import glob
# 読み込んだCSVのデータを"list_file_summary"に格納します
list_file_summary = glob.glob('data/csv/グラフデータ_*.csv')
*(ワイルドカード)を使っておけば、
csvファイルが複数あってもすべてのファイルを読み込むことができます。
Excelファイルを開く、保存する
CSVのデータを読み込んだあと、処理した後のデータを記入する
Excelファイルの読み込み、および保存する処理をご紹介します。
# Excelライブラリを使いますよという宣言
import openpyxl
# -------------------------------------------------------
# 上のCSVファイルを読み込む処理をここに入れればOK!
# -------------------------------------------------------
# Excelで作成したテンプレートの保存先とファイル名を指定する
read_path = 'data/excel/AnalysisSheet.xlsx'
# Excelを開く
ExcelBook = openpyxl.load_workbook(read_path)
# -------------------------------------------------------
# ここにCSVファイルから読み込んだデータを使って
# pandasライブラリでデータを整理し、Excelに書き込んでいきます
# 次回はこの部分を詳しくご紹介します
# -------------------------------------------------------
# 別名保存するために保存先とファイル名を指定する
save_file = 'data/excel/AnalysisSheet_営業部.xlsx'
# エクセルを保存する
ExcelBook.save(save_file)
ツール作成の大枠はこれだけで完成です。
次回は、CSVファイル、Excelファイルを読み込んだ後の
データの整理するための処理をご紹介します。
関連記事:
"100TB"のファイルサーバにあるファイルを断捨離するために(1)
https://qiita.com/karin_to/items/8a375f41de0e4f754cfb
"100TB"のファイルサーバにあるファイルを断捨離するために(2)
https://qiita.com/karin_to/items/7e1dab963e0dc0ba2e9b
"100TB"のファイルサーバにあるファイルを断捨離するために(3)
https://qiita.com/karin_to/items/a2ee0d8332f1151b3b87

