[英]How to create a automatic discounted price list from Easyocr result?
因此,我们的任务是创建一个代码,将 Easyocr 的结果放入表格(特别是食物菜单)中。 砖墙在从 easyocr 获得结果后立即开始,因为我尝试对结果进行排序,但它按字符和数字而不是单词和价格排序。 我知道手动创建一个列表可以解决这个问题,但它超过了自动化在 ocr 上应用折扣的代码的目的。
我们读课文:
result2 = reader.readtext(IMAGE_PATH, detail=0, slope_ths= 0.2)
结果 2 包含以下内容:
['SIZZLING SPECIALS',
'Spareribs',
'195.00',
'Pork Katsudon',
'175.00',
'Sizzling Sisig',
'180.00',
'Sisig Pulutan',
'160.00',
'Pork',
'Barbeque',
'160.00',
'Pork Teriyaki',
'160.00',
'Peruvian Chicken',
'160.,00',
'Stuffed Squid',
'345.00',
'Boneless Bangus',
'150.00',
"Tokwa't Baboy",
'150.00',
'Sizzling Lomi',
'110.00']
我想得到一个结果,其中食物名称和价格在不同的列中。 以及对价格应用折扣。
第 1 列 | 第 2 栏 |
---|---|
排骨 | 195.00-20% |
猪排盖饭 | 175.00-20% |
... | ... |
... | ... |
... | ... |
铁板lomi | 115.00-20% |
您需要进行一些数据清理,但请尝试以下操作:
import pandas as pd
result2 = ['SIZZLING SPECIALS',
'Spareribs',
'195.00',
'Pork Katsudon',
'175.00',
'Sizzling Sisig',
'180.00',
'Sisig Pulutan',
'160.00',
'Pork',
'Barbeque',
'160.00',
'Pork Teriyaki',
'160.00',
'Peruvian Chicken',
'160.,00',
'Stuffed Squid',
'345.00',
'Boneless Bangus',
'150.00',
"Tokwa't Baboy",
'150.00',
'Sizzling Lomi',
'110.00']
# Remove SIZZING SPECIALS and Pork
result2 = result2[1::]
del result2[result2.index("Pork")]
result_final = pd.DataFrame([
{"Column 1": result2[2*i],
"Column 2": result2[2*i+1]} for i in range(len(result2) // 2)])
result_final
第 1 列 | 第 2 栏 |
---|---|
排骨 | 195.00 |
猪排盖饭 | 175.00 |
铁板西格 | 180.00 |
西格普卢坦 | 160.00 |
烧烤 | 160.00 |
照烧猪肉 | 160.00 |
秘鲁鸡 | 160.,00 |
酿鱿鱼 | 345.00 |
去骨班格斯 | 150.00 |
Tokwa't Baboy | 150.00 |
铁板罗米 | 110.00 |
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.