Pythonで紙資料をOCR処理→Excelに自動変換!書類入力をゼロにする

はじめに

紙の請求書や申込書、アンケート回答などを人力でExcelに入力していませんか?
実はPythonとOCR(光学文字認識)を組み合わせることで、紙資料をスキャンしてテキスト化し、自動でExcelに変換する仕組みを構築できます。

この記事では、

  • OCRの基本仕組み
  • Python × OCRライブラリの使い方(Tesseract)
  • Excel自動出力までのコード例
    を解説します。

OCR(光学文字認識)とは?

OCR(Optical Character Recognition)は、画像内の文字を解析しテキストデータに変換する技術です。
スキャンした書類やPDFを「読めるテキスト」に変換できるため、業務効率化に直結します。

代表的なPythonで使えるOCRツールは以下です

  • pytesseract:GoogleのTesseract OCRエンジンをPythonから利用可能
  • easyocr:ディープラーニングベースで認識精度が高い

今回はpytesseractを利用して、シンプルに構築していきます。


Python環境の準備

まず、必要なライブラリをインストールします。

pip install pytesseract pillow openpyxl

さらに、Tesseract OCR 本体をインストールする必要があります。

  • Windows: Tesseract OCR公式からインストール
  • Mac: brew install tesseract
  • Linux: sudo apt install tesseract-ocr

OCRで文字を抽出するコード例

紙資料をスキャンした画像(例:document.png)からテキストを抽出します。

from PIL import Image
import pytesseract

# 画像を読み込み
img = Image.open("document.png")

# OCR処理(日本語対応)
text = pytesseract.image_to_string(img, lang="jpn")

print(text)

これでスキャン画像から文字が抽出されます。
領収書や請求書の金額、日付、取引先名なども取得可能です。


OCR結果をExcelに自動変換

次に、抽出した文字列をExcelに書き込むサンプルです。

import openpyxl

# OCRで取得したテキスト
text = """
日付: 2025-08-31
取引先: 株式会社サンプル
金額: 120,000円
"""

# Excelブック作成
wb = openpyxl.Workbook()
ws = wb.active
ws.title = "OCR結果"

# テキストを行ごとにExcelへ書き込み
for i, line in enumerate(text.strip().split("\n"), start=1):
    ws.cell(row=i, column=1, value=line)

# 保存
wb.save("ocr_result.xlsx")

これでOCR結果がそのままExcelに保存されます。


フォーマットを整える(実務向け応用)

実務で使う場合、「項目ごとにセルに格納」できるように正規表現を使います。

import re

# 正規表現でデータ抽出
date = re.search(r"日付:\s*(.+)", text).group(1)
company = re.search(r"取引先:\s*(.+)", text).group(1)
amount = re.search(r"金額:\s*(.+)", text).group(1)

# Excelに整形して出力
ws["A1"] = "日付"
ws["B1"] = "取引先"
ws["C1"] = "金額"

ws.append([date, company, amount])
wb.save("ocr_result.xlsx")

こうすることで、日付・取引先・金額がExcelの各列に整理された形で保存されます。


まとめ

この記事では、

  1. PythonでOCR処理(pytesseract)
  2. 文字をExcelに自動変換(openpyxl)
  3. 正規表現で整形し、実務で使える形に

という流れを解説しました。

これを応用すれば、

  • 請求書の入力作業をゼロに
  • アンケート結果を自動集計
  • 紙ベース業務の完全デジタル化

が実現できます。


👉 次のステップとしては、

  • PDF一括処理
  • 複数フォルダの自動監視
  • OCR結果をデータベース連携

に拡張していくとさらに実務向けに進化します。

タイトルとURLをコピーしました