ノラプログラマーの技術メモ

ネットで調べても出てこなかった情報を載せていきたい技術系ブログ。

AIによるタイムカード処理の効率化

これまでアルバイトスタッフの給与計算では、タイムカードを確認しながら出退勤時間を手作業でエクセルに入力していました。
この工程をAIに任せることにし、タイムカードの写真をAIへアップロードするだけで、出勤日・出勤時間・退勤時間を自動で読み取り、エクセルファイルとして出力してくれる仕組みを導入しました。

実際に使用したプロンプトは以下の通りです。


これからタイムカードの画像をアップロードします。
以下のルールで自動処理してください。

【やりたいこと】
1. 画像内のタイムカードにある「青色の罫線」を完全に削除した画像を作成してください。
- Python(PIL など)を使って、青成分の強いピクセルを検出し、白色に置き換えてください。
- 罫線除去後の画像を PNG で保存し、そのダウンロードリンクを提示してください。

2. 罫線を削除した画像から、すべての
・日にち
・出勤時間(出)
・退勤時間(退)
を読み取ってください。

3. 日付は「日にちのみ」の整数で記録してください。
- 例:2025/10/15 → 「15」
- 曜日の記号(*や漢字)は無視してください。

4. 出勤・退勤時間は、タイムカードに印字されている通りの「時:分」形式(例:8:33, 14:35)で記録してください。
- 判別が難しい数字は、無理に推測せず空欄にしてください。

5. 読み取ったデータから Excel(.xlsx)ファイルを作成してください。
- 見出し(ヘッダー行)は入れないでください。
- 1行につき「日にち, 出勤時間, 退勤時間」の3列にしてください。
- 日付の昇順に並んでいない場合は、ソートしてから出力してください。

6. 処理結果として以下を出力してください。
- 青い罫線を削除したタイムカード画像(ダウンロードリンク)
- 作成した Excel ファイル(.xlsx)のダウンロードリンク
- 併せて、同じ内容をテキストでも確認できるように、
「日にち, 出勤時間, 退勤時間」のCSV形式テキストも表示してください。

7. 毎回新規に処理を実行して出力してください。
- 前後のデータを処理に含めず、今回アップロードした画像のみを情報として使用してください。

【注意点】

  • OCRの誤認識を減らすために、タイムカードの表部分(表のマス目)のみを切り出してから認識してください。
  • 「時間数」など不要な列は無視し、「日にち・出勤・退勤」だけを対象にしてください。
  • 画像が複数枚ある場合は、各画像を順に処理し、すべて同じ形式で1つのExcelにまとめてください。

最終的な確認は人間の目で行うものの、入力作業が不要になったことで作業負担が大幅に軽減されました。(この文章もAIで生成しました)