将pytesseract字符串输出转换为pandas df

费舍尔

我收到了Subway的全天收据,其中详细列出了销售,工人等,并且需要为管理班级提取数据。

我为收据拍照并用pytesseract将其处理成一个\ n分隔的字符串,但现在不知道如何使用pd.read_csv和StringIO将其转换为数据框。如果这是最好的方法,那就不要。还可能需要使用cv2编辑图像,以使其处理得更好。

import numpy as np
import pytesseract
from PIL import Image
import pandas as pd

path = 'C:\\attachments\\'

monday = pytesseract.image_to_string(Image.open(path+'file1-1.jpeg'),lang='eng')

from StringIO import StringIO
mon = pd.read_csv(StringIO(monday),sep=r'\s',lineterminator=r'\n')
print(mon)

这是当前星期一的一些变量。

"\nTIME HOURS :\nPERIOD SALES UNITS WORKED PROD SPLH\nZhan emmoo «Ct (iti ;:t‘«é‘«‘i CSD\n3A-4A $0.00 0 0 0 $0.00\n44-54 =: $0.00 SssOO 0 0 $0.00\n5A-6A $0.00 0 0 0 $0.00\nbA-7A $0.00 0 0 0 $0.00\n7A-BA =s«$0.00-Sss«OOs«*O0.80 0 $0.00\nBA-9A 60,00 . Qge2.00 0 $0.00\nQA-10A $33.68 6 2,00 3.00 $16.84\n104-114 $61.07 9 2.13 4.23 $28.67\n11A-12P$238.82 33 5,00 6.60 $47.76"

它应该像这样作为数据框:

Period Sales Units Worked Prod SPLH
3A-4A  $0.00  0      0     0   $0.00
bA-7A  $0.00  0      0     0   $0.00
kr1zz

您可以将tesseract的结果直接输入到Pandas数据框中:

monday = pytesseract.image_to_data(Image.open(path+'file1-1.jpeg'),lang='eng', output_type='data.frame')

现在monday是一个数据框,但是它需要您做更多的处理,因为它在层次结构中的每个级别至少包含一行。检查输出,并查看您希望如何组织它。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章