Excelデータの分割保存
やりたいこと:年間や月間の売上データを、月毎や日毎のデータに分割して保存する。
月ごとに別ファイルとして保存
import pandas as pd import os # Excel ファイルの読み込み df = pd.read_excel("sales_data.xlsx") # 読み込むファイル名を指定 # 日付を datetime 型に変換 df["日付"] = pd.to_datetime(df["日付"]) # 保存用フォルダ作成 os.makedirs("monthly_reports", exist_ok=True) # 月ごとに別ファイルとして保存 for month, data in df.groupby(df["日付"].dt.month): filename = f"monthly_reports/{month}_sales.xlsx" data.to_excel(filename, index=False)
会計年度ごとに別ファイルとして保存
# 日付を datetime 型に変換 df["日付"] = pd.to_datetime(df["日付"]) # 会計年度を算出(4月から翌年3月を1会計年度とする) df["年度"] = df["日付"].apply(lambda x: x.year if x.month >= 4 else x.year - 1) # 保存用フォルダ作成 os.makedirs("fiscal_reports", exist_ok=True) # 会計年度ごとに別ファイルとして保存 for year, data in df.groupby(df["年度"]): filename = f"fiscal_reports/{year}_fiscal_sales.xlsx" data.to_excel(filename, index=False)
日ごとに別ファイルとして保存
import pandas as pd import os # Excel ファイルの読み込み file_path = "sales_data.xlsx" df = pd.read_excel(file_path) # 日付を datetime 型に変換 df["日付"] = pd.to_datetime(df["日付"]) # 当月の1日と月末を取得 start_date = pd.to_datetime("today").replace(day=1) end_date = start_date + pd.offsets.MonthEnd(0) # 当月のデータのみを抽出 df_filtered = df[(df["日付"] >= start_date) & (df["日付"] <= end_date)] # 保存用フォルダ作成 os.makedirs("daily_reports", exist_ok=True) # 日ごとに別ファイルとして保存(ファイル名を YYYYMMDD 形式に変更) for date, data in df_filtered.groupby(df_filtered["日付"].dt.date): filename = f"daily_reports/{date.strftime('%Y%m%d')}_sales.xlsx" data.to_excel(filename, index=False)