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)
aW1wb3J0IHJlCgpwYWdlX3RleHRfc3RyID0gIiAgIDEgTkEgQkVWRVJBR0UgMTEwMCBJQ0VEIFRFQSAxNC4wMCAzLjAwIDQyLjAwIDMuNTAgMC4wMCA0Mi4wMCAwLjAwIDAuNTIgNDcuMDkiCgpzYWxlX2xpbmVfcmUgPSByZS5jb21waWxlKCdeXHMqKFxkKylccyooKD86W0EtWmEtel0rXHMrKSspKFxkKylccysoLis/KVxzKyhcZCsuXGQrKVxzKyhcZCsuXGQrKVxzKyhcZCsuXGQrKVxzKyhcZCsuXGQrKVxzKyhcZCsuXGQrKVxzKyhcZCsuXGQrKVxzKyhcZCsuXGQrKVxzKyhcZCsuXGQrKVxzKyhcZCsuXGQrKSQnKQpncm91cGVkX2RhdGEgPSBbXQoKZm9yIGxpbmUgaW4gcGFnZV90ZXh0X3N0ci5zcGxpdCgnXG4nKToKICAgIHByaW50KGxpbmUpCiAgICBtYXRjaCA9IHNhbGVfbGluZV9yZS5tYXRjaChsaW5lKQogICAgaWYgbWF0Y2g6CiAgICAgICAgZ3JvdXBzID0gbWF0Y2guZ3JvdXBzKCkKICAgICAgICBpdGVtID0gewogICAgICAgICAgICAiaXRlbV9yYW5rIjogZ3JvdXBzWzBdLAogICAgICAgICAgICAiaXRlbV9jYXRlZ29yeSI6IGdyb3Vwc1sxXSwKICAgICAgICAgICAgIml0ZW1fbnVtYmVyIjogZ3JvdXBzWzJdLAogICAgICAgICAgICAiaXRlbV9uYW1lIjogZ3JvdXBzWzNdLAogICAgICAgICAgICAibnVtYmVyX3NvbGQiOiBncm91cHNbNF0sCiAgICAgICAgICAgICJwcmljZV9zb2xkIjogZ3JvdXBzWzVdLAogICAgICAgICAgICAiYW1vdW50IjogZ3JvdXBzWzZdLAogICAgICAgICAgICAidGF4IjogZ3JvdXBzWzddLAogICAgICAgICAgICAiY29zdCI6IGdyb3Vwc1s4XSwKICAgICAgICAgICAgInByb2ZpdCI6IGdyb3Vwc1s5XSwKICAgICAgICAgICAgImZvb2RfY29zdCI6IGdyb3Vwc1sxMF0sCiAgICAgICAgICAgICJwcmVjZW50X3NhbGVzIjogZ3JvdXBzWzExXSwKICAgICAgICAgICAgImNhdF9zYWxlcyI6IGdyb3Vwc1sxMl0KICAgICAgICB9CiAgICAgICAgZ3JvdXBlZF9kYXRhLmFwcGVuZChpdGVtKQoKCmZvciBzYWxlIGluIGdyb3VwZWRfZGF0YToKICAgIHByaW50KHNhbGUp
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'}