Как добавить специально найденный (OCR) текст в список и записать его в файл Excel?[Pytesseract] - PullRequest
0 голосов
/ 11 февраля 2019

Я хочу извлечь определенную информацию из многих файлов PNG / JPEG через pytesseract и записать их в файл 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 без данных.

Ответы [ 2 ]

0 голосов
/ 11 февраля 2019

Вы должны отфильтровать текст, который вы прочитали из изображения, или найти части изображения, которые вы хотите прочитать, прежде чем читать их с помощью tesseract.Для фильтрации прочитанного текста вы можете использовать регулярные выражения, а для поиска частей на изображении вам нужно будет использовать некоторые алгоритмы компьютерного зрения, которые предсказывают некоторые части изображения (обнаружение объектов) и обучают их вашим данным.

А для добавления кадра данных в Excel просто используйте pandas to_csv или to_excel методы

0 голосов
/ 11 февраля 2019

Чтобы преобразовать фрейм данных в электронную таблицу, попробуйте это

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

Это можно открыть в Excel.Если вам нужно больше столбцов, просто добавьте их в фрейм данных, а затем запишите файл csv

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...