import re
page_text_str = " 1 NA BEVERAGE 1100 ICED TEA 14.00 3.00 42.00 3.50 0.00 42.00 0.00 0.52 47.09"
sale_line_re = re.compile('^\s*(\d+)\s*((?:[A-Za-z]+\s+)+)?(\d+)\s+(.+?)\s+(\d+.\d+)\s+(\d+.\d+)\s+(\d+.\d+)\s+(\d+.\d+)\s+(\d+.\d+)\s+(\d+.\d+)\s+(\d+.\d+)\s+(\d+.\d+)\s+(\d+.\d+)$')
grouped_data = []
for line in page_text_str.split('\n'):
print(line)
match = sale_line_re.match(line)
if match:
groups = match.groups()
item = {
"item_rank": groups[0],
"item_category": groups[1],
"item_number": groups[2],
"item_name": groups[3],
"number_sold": groups[4],
"price_sold": groups[5],
"amount": groups[6],
"tax": groups[7],
"cost": groups[8],
"profit": groups[9],
"food_cost": groups[10],
"precent_sales": groups[11],
"cat_sales": groups[12]
}
grouped_data.append(item)
for sale in grouped_data:
print(sale)
aW1wb3J0IHJlCgpwYWdlX3RleHRfc3RyID0gIiAgIDEgTkEgQkVWRVJBR0UgMTEwMCBJQ0VEIFRFQSAxNC4wMCAzLjAwIDQyLjAwIDMuNTAgMC4wMCA0Mi4wMCAwLjAwIDAuNTIgNDcuMDkiCgpzYWxlX2xpbmVfcmUgPSByZS5jb21waWxlKCdeXHMqKFxkKylccyooKD86W0EtWmEtel0rXHMrKSspPyhcZCspXHMrKC4rPylccysoXGQrLlxkKylccysoXGQrLlxkKylccysoXGQrLlxkKylccysoXGQrLlxkKylccysoXGQrLlxkKylccysoXGQrLlxkKylccysoXGQrLlxkKylccysoXGQrLlxkKylccysoXGQrLlxkKykkJykKZ3JvdXBlZF9kYXRhID0gW10KCmZvciBsaW5lIGluIHBhZ2VfdGV4dF9zdHIuc3BsaXQoJ1xuJyk6CiAgICBwcmludChsaW5lKQogICAgbWF0Y2ggPSBzYWxlX2xpbmVfcmUubWF0Y2gobGluZSkKICAgIGlmIG1hdGNoOgogICAgICAgIGdyb3VwcyA9IG1hdGNoLmdyb3VwcygpCiAgICAgICAgaXRlbSA9IHsKICAgICAgICAgICAgIml0ZW1fcmFuayI6IGdyb3Vwc1swXSwKICAgICAgICAgICAgIml0ZW1fY2F0ZWdvcnkiOiBncm91cHNbMV0sCiAgICAgICAgICAgICJpdGVtX251bWJlciI6IGdyb3Vwc1syXSwKICAgICAgICAgICAgIml0ZW1fbmFtZSI6IGdyb3Vwc1szXSwKICAgICAgICAgICAgIm51bWJlcl9zb2xkIjogZ3JvdXBzWzRdLAogICAgICAgICAgICAicHJpY2Vfc29sZCI6IGdyb3Vwc1s1XSwKICAgICAgICAgICAgImFtb3VudCI6IGdyb3Vwc1s2XSwKICAgICAgICAgICAgInRheCI6IGdyb3Vwc1s3XSwKICAgICAgICAgICAgImNvc3QiOiBncm91cHNbOF0sCiAgICAgICAgICAgICJwcm9maXQiOiBncm91cHNbOV0sCiAgICAgICAgICAgICJmb29kX2Nvc3QiOiBncm91cHNbMTBdLAogICAgICAgICAgICAicHJlY2VudF9zYWxlcyI6IGdyb3Vwc1sxMV0sCiAgICAgICAgICAgICJjYXRfc2FsZXMiOiBncm91cHNbMTJdCiAgICAgICAgfQogICAgICAgIGdyb3VwZWRfZGF0YS5hcHBlbmQoaXRlbSkKCgpmb3Igc2FsZSBpbiBncm91cGVkX2RhdGE6CiAgICBwcmludChzYWxlKQ==
1 NA BEVERAGE 1100 ICED TEA 14.00 3.00 42.00 3.50 0.00 42.00 0.00 0.52 47.09
{'item_rank': '1', 'item_category': 'NA BEVERAGE ', 'item_number': '1100', 'item_name': 'ICED TEA', 'number_sold': '14.00', 'price_sold': '3.00', 'amount': '42.00', 'tax': '3.50', 'cost': '0.00', 'profit': '42.00', 'food_cost': '0.00', 'precent_sales': '0.52', 'cat_sales': '47.09'}