11import pandas as pd
22import re
3+ from setting import chinese_to_arabic
4+ chinese_char_dict = {
5+ '〇' : 0 , '一' : 1 , '二' : 2 , '三' : 3 , '四' : 4 , '五' : 5 , '六' : 6 , '七' : 7 , '八' : 8 , '九' : 9 , '零' : 0 ,
6+ '壹' : 1 , '贰' : 2 , '叁' : 3 , '肆' : 4 , '伍' : 5 , '陆' : 6 , '柒' : 7 , '捌' : 8 , '玖' : 9 , '貮' : 2 , '兩' : 2 ,
7+ }
38def load_xlsx (file_name = 'menu.xlsx' ):
49 xls = pd .ExcelFile (file_name )
510 df = xls .parse (xls .sheet_names [0 ])
@@ -37,13 +42,21 @@ def process_price_with_order(menu_dict, order):
3742 if top == None :
3843 top = item
3944 else :
45+ if item in chinese_char_dict :
46+ item = chinese_to_arabic (item )
4047 price_dict [top ] = {'amount' :item , 'price' :None }
4148 top = None
4249 else :
4350 if top == None :
4451 top = item
4552 else :
46- price_dict [item ] = {'amount' :int (top ), 'price' :None }
53+ if top in chinese_char_dict :
54+ top = chinese_to_arabic (top )
55+ try :
56+ top = int (top )
57+ except :
58+ top = 0
59+ price_dict [item ] = {'amount' :top , 'price' :None }
4760 top = None
4861
4962 total = 0
@@ -70,6 +83,7 @@ def sum_up_total_line(total, none_list):
7083 return line
7184
7285# write_xlsx()
73- data_dict = load_xlsx ()
74- menu_dict = process_data_to_menu (data_dict )
75- # print(process_price_with_order(menu_dict, '100個火腿和7000個蛋糕'))
86+ # data_dict = load_xlsx()
87+ # menu_dict = process_data_to_menu(data_dict)
88+ # print(process_price_with_order(menu_dict, '100個火腿和7000個蛋糕和兩個大雞雞'))
89+ # print(process_price_with_order(menu_dict, '一個火腿和7000個蛋糕和兩個大雞雞'))
0 commit comments