首页 > 解决方案 > 如何将专门找到的 (OCR) 文本添加到列表中并将其写入 excel 文件?[pytesseract]

问题描述

我想通过 pytesseract 从许多 PNG/JPEG 文件中提取某些信息,并尽可能将它们写入 excel 文件。

我已经想出了如何从图片中提取文字,但我还没有想出的是:

1)我如何提取特定信息而不是一整串单词?例如,我想要每张照片的帐号和参考号,仅此而已。

2)我如何将这些帐号和参考号写入外部文件,如excel?

我将在下面附上我到目前为止所获得的内容:

我听说使用 pandas 数据框是将数据附加到 Excel 列中的好方法,但我不确定我是否可以为这样的任务做到这一点。

from PIL import Image
import pytesseract
import pandas as pd

pytesseract.pytesseract.tesseract_cmd = "C:\\Program Files (x86)\\Tesseract-OCR\\tesseract.exe"

im = Image.open("C:/Users/user1/desktop/scripts/ocr/example bills/pic.jpg")


content = pd.DataFrame()
text = pytesseract.image_to_string(im, lang= 'eng')
temp = pd.DataFrame({'Words':[text]})
content.append(temp)

content.head()

print(text)
writer = pd.ExcelWriter('wordstest.xlsx')
content.to_excel(writer,'Sheet1')
writer.save()

预期成绩:

一个excel文件,有两列,帐号和参考号。

实际结果:

没有数据的excel文件。

标签: pythonmachine-learningocr

解决方案


要将数据框转换为电子表格,请尝试此操作

content.to_csv('wordstest.csv',sep=',')

这个可以用excel打开。如果您需要更多列,只需将它们添加到数据框,然后写入 csv 文件


推荐阅读