こんにちはkzyです。
今回はPyOCRで文字認識したテキストをエクセルに出力する方法を解説します。
具体的にはXlsxWriterというライブラリを使用してPythonスクリプトからエクセル操作を行います。
数行のコードで文字認識のテキストをエクセルに出力できるよ!
目次
この記事は以下のような方を対象者としています。
本記事の対象者
- python初学者の方
- pythonで文字認識したテキストをエクセルに出力したい方
- pythonでエクセルへの出力方法を探している方
前置き:pythonでエクセルへ出力する
pythonでエクセル関連の操作を行う場合にはxlsxwriterライブラリを使います。
xlsxwriterではセルの結合やセルのサイズ調整、テキストの出力から画像のエクセルへの貼り付け等ができます。
Pythonでエクセル操作その1:環境構築をしよう
まずはPythonでエクセル操作を行うための準備をしましょう。
実際に私が環境構築した時の手順を説明します。
下記が私のPCのPythonのライブラリのバージョンです。
※これらコマンドはターミナル上で実行しています。
1 2 3 4 5
|
実行コマンド:
python --version
出力結果:
Python 2.7.15
|
ちなみに私はMacを使うため本記事もMacでの環境構築を前提として解説します。
Pythonでエクセル操作その2:xlsxwriterのインストール
まずは下記コマンドでxlsxwriterライブラリのインストールをしましょう。
1 2 3 4 5
|
実行コマンド:
sudo pip install xlsxwriter
出力結果:
Successfully built xlsxwriter
|
Install Successfulのような文言が出力されれば正常にxlsxwriterインストールがされていると思います。
念のため下記コマンドでxlsxwriterがインストールできているかどうか確認しましょう。
1 2 3 4 5
|
実行コマンド:
pip list | grep XlsxWriter
出力結果:
XlsxWriter 1.3.7
|
Pythonでエクセル操作その3:エクセルに出力してみよう
それでは早速エクセルに出力するためのpythonスクリプトを書きましょう。
例としてA列の1行目にtestという文字を格納したtest.xlsxというファイル名を出力するスクリプト(test.py)を書きます。
test.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
<!-- xlsxwriterライブラリをインポート -->
import xlsxwriter
<!-- 列を設定 0 = A列, 1 = B列 -->
line = 0
<!-- 行を設定 0 = 1行目, 1 = 2行目 -->
row = 0
<!-- test.xlsxというエクセルファイルを出力 -->
workbook = xlsxwriter.Workbook("test.xlsx")
<!-- testという名前のシートを作成 -->
worksheet = workbook.add_worksheet("test")
<!-- line,rowで指定したセルにtestというテキストを格納 -->
worksheet.write(line,row,"test")
<!-- エクセルファイルへの編集を保存する -->
workbook.close()
|
上記test.pyを作成したら、下記コマンドでtest.pyを実行しましょう。
これでtest.pyと同じフォルダ内にtest.xlsxというファイル名のエクセルファイルが出力されます。
Pythonでエクセル操作その4:PyOCRで文字認識したテキストをエクセルに出力
続いて画像からテキストを認識し出力するプログラムと結合しエクセルに認識文字を出力しましょう。
pythonで文字認識のやり方を知りたい方は下記別記事にてわかりやすく解説した記事があるので、そちらをご参照ください。
こんにちはkzyです。
今回は文字認識ライブラリのPyOCRとTesseractを使って画像からテキストを抽出したいと思います。
環境構築含めpythonでの文字認識のやり方を簡潔に説明できればと思います。
上記記事内の文字認識のスクリプトを下記デモコードで流用します。
先ほど書いたエクセルへの出力文字部分を文字認識で取得した値で置き換えてあげれば完了です。
test.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
import sys
from PIL import Image
import pyocr
import pyocr.builders
import xlsxwriter
tools = pyocr.get_available_tools()
if len(tools) == 0:
print("No OCR tool found")
sys.exit(1)
tool = tools[0]
print("Will use tool '%s'" % (tool.get_name()))
<!-- 同じフォルダ内のimage.pngから文字認識を行い結果をtxtに格納 -->
txt = tool.image_to_string(
Image.open("./image.png"),
lang="jpn",
builder=pyocr.builders.TextBuilder(tesseract_layout=6)
)
line = 0
row = 0
workbook = xlsxwriter.Workbook("test.xlsx")
worksheet = workbook.add_worksheet("test")
<!-- エクセルへの出力結果部分に文字認識結果を保持する変数txtを指定 -->
worksheet.write(line, row, txt)
workbook.close()
|
上記コマンドが正常に完了すれば、text.xlsxファイルに下記文字認識で取得したテキストがエクセルに出力されます。
画像から取得したテキストがエクセルに出力されていればOK!
さいごに
ここまでお読みいただきありがとうございました。
僕のブログサイト「kzy.tech〜日本脱出のための教科書〜」がどのようなサービスで作られているかが気になる方は以下別記事にてご説明していますので、ご覧いただけますと小躍りして喜びます💃
手間暇かけずにサクッとアフィリエイト用のブログサイトを作りたいという方向け。
ある程度自由にカスタマイズできる、かつコマンド一つで 記事の自動生成ができる静的サイトジェネレータ「HUGO」についてまとめました。
また、海外移住の 英語とプログラミングを習得することを推奨しています。
これは私の経験則から言えることですが、上記二つのスキルがあれば海外移住は絶対に実現できます。
以下に僕が実際に使って効率よくプログラミング学習ができるおすすめサービスを載せます😌
速習!おすすめプログラミング勉強法【Udemy】
いくつかプログラミング学習サービスを利用しましたが、一番効率よく勉強できると感じたのはUdemyでした。
Udemyでは動画での説明や解説等もあり親切で、学習教材も豊富にあることから プログラミング初学者の方が短期間でエンジニアを目指したいのであれば、非常に良い教材だと思います。
ちなみに私は文系卒で社会人になってから独学でudemyを使ってプログラミングの勉強をして、実際にエンジニアとして採用されました
Udemyのコースは1つ1,000円ほどなので、ITの参考本を一冊(3,000円)を買うよりもUdemyのコースを購入する方が安い上により効率的にプログラミングを勉強できると思います。
世界最大級のオンライン学習サイトUdemy
また、別記事にてダナンでの生活やIT関連についても記事を書いていますのでクリックいただけると嬉しくて踊ります💃
人気記事
未経験だけどプログラミングを学んでエンジニアになりたい、社会人だから時間もそれほど多く無いので効率よく勉強したい。
私もその内の一人でした。今回の記事で最短でエンジニアになるためのおすすめUdemy講座4選をご紹介したいと思います。
デスク周りのPC周辺機器の購入を検討されている方向け。
普段コスパ重視でPC周辺機器を選んでいますが、実際に買ってよかったと思えたおすすめPC周辺機器を本記事でご紹介します。
個人でアプリを作って収益を上げるやり方を探している方向け。
アプリ開発を副業で考えている方向けに広告収入のやり方、及びおすすめの収益戦略を本記事で解説します。
個人で副業のためにアプリ開発をしてみたいと考えている方向け。
iOS/Androidの個人アプリ開発の場合データのやりとりを行うため、サーバを契約する人が多いです。
しかし、考えなしにサーバを契約するのは非常に大きなデメリットがあるため、私はあまりオススメしません。
ではどの様にしてお金をかけずにアプリ作りができるか、なぜFirebaseを使うべきなのかこの記事で解説していきます。
ベトナム・ダナン生活関連
最近観光地として人気が高まっているダナンですが、近年物価の変動が大きくなっていっているように感じます。
2019年〜2020年でのダナンの物価はどのようなものなのか、ダナン在住者として現地の声をお届けできればと思います
日本ってやっぱり「働く」ことに関しては異常ですよ。
「お客様は神様」精神、残業を美徳とする文化、過労死という言葉を作り出してしまう労働環境。
今回は日本の異常な労働環境をベトナムの労働環境と比較しながら説明したいと思います😱
海外移住を始めて2年ほどが経過しました、日本に住んでいた時と今ベトナムに移住してからとでどのように生活が変わったのかをこちらの記事にまとめていこうと思います。
ベトナム・ダナンへ移住を考えている方向け。
海外移住をする上で家賃相場を事前に知っておくことは生活費がどれくらいかかるのか計算ができるので非常に重要です。
こちらの記事で家賃相場、賃貸契約の流れ、賃貸契約時のトラブルについて解説していきます。
技術メモ・プログラミング関連
AWS ソリューションアーキテクトの勉強をしている方向け。
Udemyでのおすすめ講座、一発合格のための勉強方法から受験の手順まで本記事でまとめました。
認定試験の受験を考えている方には必見です。
こんにちはkzyです。
今回は文字認識ライブラリのPyOCRとTesseractを使って画像からテキストを抽出したいと思います。
環境構築含めpythonでの文字認識のやり方を簡潔に説明できればと思います。
flutterでオブジェクトのサイズ調整の理解が曖昧な方向け。
flutterでアプリ開発を行う際に頻出する項目の一つのため、この記事でなるべくわかりやすく解説します。
こんにちはkzyです。
今回はPyOCRで文字認識したテキストをエクセルに出力する方法を解説します。
具体的にはXlsxWriterというライブラリを使用してPythonスクリプトからエクセル操作を行います。