日次業務レポートの作成は、多くのビジネスにおいて重要なタスクですが、手作業で行うと時間がかかり、ミスが発生する可能性もあります。Pythonを使って日次業務レポートを自動生成することで、効率と正確性を大幅に向上させることができます。この記事では、Pythonを使って日次業務レポートを自動生成する方法について具体例を交えて解説します。
必要なライブラリのインストール
日次業務レポートを自動生成するために、いくつかのライブラリを使用します。主要なライブラリは、pandas
、openpyxl
、および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):
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
を使って定期的にレポートを生成することで、手作業の手間を大幅に削減できます。これらの技術を活用して、日々の業務レポートを効率的に管理しましょう。