はじめに
このスクリプトは、データの取得から整形、統合、分析、Excel出力までの一連の処理をするメイン関数です。ここでは複雑な処理は記述しておらず、個々の処理は別モジュールに記述しています。
目次
main.py
ソースコード
import sys
from data_formatter import (
df_merger,
kokyaku_formatter,
search_unused_users,
uriage_formatter,
)
from df_to_excel import df_to_excel
from file_reader import dir_selector, read_files
from pivot_table_maker import mk_pivot_table
if __name__ == "__main__":
# データを読み込む
dir_path = dir_selector()
data = read_files(dir_path)
if not data:
print("データが取得できませんでした。")
sys.exit(1) # エラーステータスを明示
# データ整形
uriage_df = uriage_formatter(data)
kokyaku_df = kokyaku_formatter(data)
# データ統合
merged_df = df_merger(uriage_df, kokyaku_df)
# ピボットテーブルの作成(変数展開で明示的に)
by_item, by_price, by_customer, by_region = mk_pivot_table(merged_df)
pivot_tables = [by_item, by_price, by_customer, by_region]
# 未使用ユーザー検索
unused_users_df = search_unused_users(uriage_df, kokyaku_df)
# 保存パスを環境依存しないように変更
dir_path = dir_selector()
# Excel に出力
df_to_excel(
dir_path, uriage_df, kokyaku_df, merged_df, pivot_tables, unused_users_df
)
print(f"Excelファイルが {dir_path} に保存されました。")
ディレクトリ選択とデータの読み込み
dir_selector()
を使ってデータが格納されているフォルダを選択し、read_files()
でファイルを読み込みます。
dir_path = dir_selector()
data = read_files(dir_path)
if not data:
print("データが取得できませんでした。")
sys.exit(1)
dir_selector()
でデータフォルダを選択。read_files(dir_path)
でCSVやExcelファイルを読み込み。data
が空の場合は処理を停止。
データの整形
取得したデータを 売上データと顧客データ に分け、フォーマットを統一します。
uriage_df = uriage_formatter(data)
kokyaku_df = kokyaku_formatter(data)
uriage_formatter()
で売上データを整理。kokyaku_formatter()
で顧客データを整理。
データの統合
売上データと顧客データを統合し、一元的に管理します。
merged_df = df_merger(uriage_df, kokyaku_df)
df_merger()
で売上データと顧客データをキー情報で統合。
ピボットテーブルの作成
統合データから、商品別・価格別・顧客別・地域別 のピボットテーブルを作成します。
by_item, by_price, by_customer, by_region = mk_pivot_table(merged_df)
pivot_tables = [by_item, by_price, by_customer, by_region]
mk_pivot_table()
で4種類のピボットテーブルを生成。pivot_tables
にリストとして格納。
未使用ユーザーの検索
売上データに含まれていない顧客を抽出します。
unused_users_df = search_unused_users(uriage_df, kokyaku_df)
search_unused_users()
で未使用ユーザーを特定。
Excelファイルへの出力
すべてのデータをExcel形式で出力します。
df_to_excel(dir_path, uriage_df, kokyaku_df, merged_df, pivot_tables, unused_users_df)
df_to_excel()
で売上データ・顧客データ・統合データ・ピボットテーブル・未使用ユーザーをExcelに保存。
コメント