【日報】Pythonで日次の業務レポートを自動生成する方法

日次業務レポートの作成は、多くのビジネスにおいて重要なタスクですが、手作業で行うと時間がかかり、ミスが発生する可能性もあります。Pythonを使って日次業務レポートを自動生成することで、効率と正確性を大幅に向上させることができます。この記事では、Pythonを使って日次業務レポートを自動生成する方法について具体例を交えて解説します。

 

 

必要なライブラリのインストール

日次業務レポートを自動生成するために、いくつかのライブラリを使用します。主要なライブラリは、pandasopenpyxl、およびscheduleです。これらのライブラリをインストールしましょう。

pip install pandas openpyxl schedule

データの準備

まず、日次業務データをExcelファイルに保存します。このファイルには、日々の業務データが含まれます。例として、以下のようなExcelファイルを作成します。

日付 業務内容 担当者 状況
2024-07-01 データ入力 田中 完了
2024-07-01 顧客対応 佐藤 進行中
2024-07-01 ミーティング 鈴木 未開始

業務データの読み込みと集計

次に、Pythonを使ってExcelファイルから業務データを読み込み、集計します。pandasを使用してデータを操作します。

import pandas as pd
from datetime import datetime

def read_and_aggregate_data(file_path):
# Excelファイルを読み込む
df = pd.read_excel(file_path)
# 今日の日付を取得
today = datetime.today().strftime('%Y-%m-%d')
# 今日のデータを抽出
today_data = df[df['日付'] == today]
# 業務内容ごとに集計
summary = today_data.groupby('状況').size()
return today_data, summary

# データを読み込んで集計する
file_path = 'daily_tasks.xlsx'
today_data, summary = read_and_aggregate_data(file_path)

レポートの生成

次に、集計したデータを基に日次業務レポートを生成します。

 
def generate_daily_report(today_data, summary):
report = "日次業務レポート\n"
report += f"日付: {datetime.today().strftime('%Y-%m-%d')}\n\n"
report += "今日の業務一覧:\n"
for index, row in today_data.iterrows():
report += f"- {row['業務内容']}(担当者: {row['担当者']}、状況: {row['状況']})\n"
report += "\n業務状況の集計:\n"
for status, count in summary.items():
report += f"- {status}: {count} 件\n"
return report

# レポートを生成
report = generate_daily_report(today_data, summary)
print(report)

レポートの保存

生成したレポートをファイルに保存します。これにより、日次業務レポートを後で確認できるようになります。

def save_report(report, report_path):
with open(report_path, 'w', encoding='utf-8') as file:
file.write(report)
print("日次業務レポートが保存されました")

# レポートを保存
report_path = 'daily_report.txt'
save_report(report, report_path)

定期的なレポート生成の自動化

日次業務レポートを毎日自動生成するために、scheduleライブラリを使用します。これにより、指定した時間に自動的にレポートを生成するスクリプトを実行できます。

import schedule
import time

def job():
today_data, summary = read_and_aggregate_data(file_path)
report = generate_daily_report(today_data, summary)
save_report(report, report_path)

# 毎日18時にレポートを生成
schedule.every().day.at("18:00").do(job)

while True:
schedule.run_pending()
time.sleep(1)

まとめ

Pythonを使った日次業務レポートの自動生成は、業務の効率化と正確性の向上に非常に役立ちます。pandasを使用してデータを操作し、scheduleを使って定期的にレポートを生成することで、手作業の手間を大幅に削減できます。これらの技術を活用して、日々の業務レポートを効率的に管理しましょう。