2024-06-02 12:45:08 +02:00
import pandas as pd
import random
2024-06-02 19:29:23 +02:00
addresses = [ " ulica Zielona 15 " , " ulica Czerwona 20 " , " ulica Niebieska 30 " , " ulica Biala 5 " , " ulica Czarna 10 " , " ulica Fioletowa 25 " , " ulica Pomaranczowa 35 " , " ulica Zolta 40 " , " ulica Różowa 45 " , " ulica Szara 50 " , " ulica Brązowa 55 " , " ulica Srebrna 60 " , " ulica Złota 65 " , " ulica Platynowa 70 " , " ulica Miedziana 75 " , " ulica Niklowa 80 " , " ulica Aluminium 85 " , " ulica Stalowa 90 " , " ulica Żelazna 95 " , " ulica Miedziana 100 " ]
2024-06-02 12:45:08 +02:00
payment_methods = [ " karta kredytowa " , " gotowka " , " blik " , " przelew " , " google pay " ]
dishes = [ " spaghetti " , " pierogi " , " schabowy " , " pizza " , " burger " , " tatar " , " poledwica " , " tiramisu " , " zrazy " , " pyzy " , " placki " , " makaron " , " zupa " , " ryba " , " cole " , " tiramisu " , " zupa grzybowa " , " stek " , " soki " , " napoj " ]
times = [ " 8:00 " , " 12:00 " , " 18:00 " , " 20:00 " , " 10:00 " , " dziesiata " , " dziewiata " , " osma " , " siodma " , " szosta " , " czwarta " , " trzecia " , " druga " , " pierwsza " , " poludnie " , " polnoc " , " wschod " , " zachod " , " poludniowy wschod " , " poludniowy zachod " , " polnocny wschod " , " polnocny zachod " , " rano " , " wieczor " , " noc " , " popoludnie " , " przedpoludnie " , " po poludniu " , " po polnocy " , " przed polnoca " , " przed poludniem " ]
2024-06-02 19:29:23 +02:00
portion_sizes = [ " mała " , " średnia " , " duża " , " gigantyczna " , " mini " ]
2024-06-02 12:45:08 +02:00
price = [ " 10 " , " 50 " , " 100 " , " 150 " , " tanio " , " drogo " ]
2024-06-02 19:29:23 +02:00
ingredient = [ " mięso " , " mleko " , " jajka " , " mąka " , " cukier " , " sól " , " pieprz " , " oliwa " , " masło " , " ser " , " warzywa " , " owoce " , " ryż " , " makaron " , " zupa " , " ryba " , " sos " , " przyprawy " , " soki " , " napoje " , " alkohol " , " kawa " , " herbata " , " deser " , " ciasto " , " chleb " , " pasta " , " sos " , " danie " , " potrawa " , " zupa " , " sałatka " , " kanapka " , " tost " , " jajecznica " , " omlet " , " placki " , " pierogi " , " schabowy " , " kotlet " , " kotlet schabowy " , " kotlet mielony " , " kotlet z kurczaka " , " kotlet z indyka " , " kotlet z ryby " , " kotlet z warzyw " , " kotlet ziemniaczany " , " kotlet z kaszy " , " kotlet z makaronu " , " kotlet z ziemniaków " , " kotlet z ryżu " ]
allergy = [ " gluten " , " laktoza " , " jajka " , " orzechy " , " soja " , " ryby " , " skorupiaki " , " mleko " , " seler " , " gorczyca " , " sezam " , " siarczyny " , " łubin " , " migdały " , " orzechy laskowe " , " orzechy włoskie " , " orzechy nerkowca " , " orzechy ziemne " , " orzechy brazylijskie " , " orzechy makadamia " , " orzechy pecan " , " orzechy pistacjowe " , " orzechy kasztanowe " , " orzechy pinii " , " orzechy arachidowe " , " orzechy ziemne " , " orzechy brazylijskie " , " orzechy makadamia " , " orzechy pecan " , " orzechy pistacjowe " , " orzechy kasztanowe " , " orzechy pinii " , " orzechy arachidowe " , " orzechy ziemne " , " orzechy brazylijskie " , " orzechy makadamia " , " orzechy pecan " , " orzechy pistacjowe " ]
2024-06-02 12:45:08 +02:00
def create_ref ( slot , value ) :
ref_templates = {
" address " : [
2024-06-02 19:29:23 +02:00
f " Zamówienie zostanie dostarczone na { value } . " ,
2024-06-02 12:45:08 +02:00
f " Niestety nie dostarczamy na { value } . " ,
2024-06-02 19:29:23 +02:00
f " Oczywiście, dostarczymy na { value } . " ,
f " Dostawa możliwa na { value } . " ,
2024-06-02 12:45:08 +02:00
f " Nie dostarczamy na { value } . "
] ,
" payment_method " : [
2024-06-02 19:29:23 +02:00
f " Akceptujemy płatność { value } . " ,
f " Nie akceptujemy płatności { value } . " ,
f " Możesz płacić { value } . " ,
f " Płatność { value } jest możliwa. " ,
f " Nie obsługujemy płatności { value } . "
2024-06-02 12:45:08 +02:00
] ,
" dish " : [
2024-06-02 19:29:23 +02:00
f " Specjalnością jest { value } . " ,
2024-06-02 12:45:08 +02:00
f " Nie mamy w ofercie { value } . " ,
f " Zapraszamy na { value } . " ,
2024-06-02 19:29:23 +02:00
f " { value } jest dostępne. " ,
2024-06-02 12:45:08 +02:00
f " Nie mamy { value } w menu. "
] ,
" time " : [
f " Godzina otwarcia to { value } . " ,
f " Nieczynne o { value } . " ,
f " Zapraszamy o { value } . " ,
f " Otwarte od { value } . " ,
2024-06-02 19:29:23 +02:00
f " Zamknięte o { value } . "
2024-06-02 12:45:08 +02:00
] ,
" portion_size " : [
2024-06-02 19:29:23 +02:00
f " Dostępne porcje: { value } . " ,
2024-06-02 12:45:08 +02:00
f " Brak porcji { value } . " ,
2024-06-02 19:29:23 +02:00
f " Dostępne porcje: { value } . " ,
f " Porcja { value } jest dostępna. " ,
2024-06-02 12:45:08 +02:00
f " Nie mamy porcji { value } . "
] ,
" price " : [
f " Cena to { value } . " ,
f " Nie mamy ceny { value } . " ,
2024-06-02 19:29:23 +02:00
f " Możesz kupić za { value } . " ,
2024-06-02 12:45:08 +02:00
f " Cena wynosi { value } . " ,
] ,
" ingredient " : [
f " Składnik to { value } . " ,
f " Nie mamy składnika { value } . " ,
f " Zawiera { value } . " ,
f " Składnik { value } jest dostępny. " ,
] ,
" allergy " : [
f " Zawiera alergen { value } . " ,
f " Nie zawiera alergenu { value } . " ,
f " Ostrzeżenie: alergen { value } . " ,
f " Produkt wolny od alergenu { value } . " ,
f " Nie mamy informacji o alergenie { value } . "
]
}
return ref_templates [ slot ]
slots_data = {
" address " : addresses ,
" payment_method " : payment_methods ,
" dish " : dishes ,
" time " : times ,
" portion_size " : portion_sizes ,
" price " : price ,
" ingredient " : ingredient ,
" allergy " : allergy
}
data = [ ]
def remove_duplicates ( list_of_dicts ) :
list_of_tuples = [ tuple ( sorted ( d . items ( ) ) ) for d in list_of_dicts ]
unique_tuples = set ( list_of_tuples )
unique_dicts = [ dict ( t ) for t in unique_tuples ]
return unique_dicts
def generate_sample ( num_slots ) :
selected_slots = random . sample ( slots_data . keys ( ) , num_slots )
mr_list = [ ]
ref_list = [ ]
for slot in selected_slots :
value = random . choice ( slots_data [ slot ] )
mr_list . append ( f " { slot } [ { value } ] " )
ref_list . append ( random . choice ( create_ref ( slot , value ) ) )
if len ( mr_list ) == 1 :
2024-06-02 19:29:23 +02:00
return { " mr " : repr ( mr_list [ 0 ] ) , " ref " : " " . join ( ref_list ) }
2024-06-02 12:45:08 +02:00
else :
return { " mr " : " , " . join ( mr_list ) , " ref " : " " . join ( ref_list ) }
for num_slots in range ( 0 , 6 ) :
for _ in range ( 5000 ) :
data . append ( generate_sample ( num_slots ) )
df = pd . DataFrame ( remove_duplicates ( data ) )
2024-06-02 19:29:23 +02:00
df . to_csv ( ' abc.csv ' , index = False )