Newer
Older
firstname_of_students = ['Smith', 'Johnson', 'Williams', 'Jones', 'Brown', 'Davis', 'Miller', 'Wilson', 'Moore', 'Taylor',
'Anderson', 'Thomas', 'Jackson', 'White', 'Harris', 'Martin', 'Thompson', 'Garcia', 'Martinez', 'Robinson',
'Clark', 'Rodriguez', 'Lewis', 'Lee', 'Walker', 'Hall', 'Allen', 'Young', 'Hernandez', 'King',
'Wright', 'Lopez', 'Hill', 'Scott', 'Green', 'Adams', 'Baker', 'Gonzalez', 'Nelson', 'Carter',
'Mitchell', 'Perez', 'Roberts', 'Turner', 'Phillips', 'Campbell', 'Parker', 'Evans', 'Edwards', 'Collins',
'Stewart', 'Sanchez', 'Morris', 'Rogers', 'Reed', 'Cook', 'Morgan', 'Bell', 'Murphy', 'Bailey',
'Rivera', 'Cooper', 'Richardson', 'Cox', 'Howard', 'Ward', 'Torres', 'Peterson', 'Gray', 'Ramirez',
'James', 'Watson', 'Brooks', 'Kelly', 'Sanders', 'Price', 'Bennett', 'Wood', 'Barnes', 'Ross',
'Henderson', 'Coleman', 'Jenkins', 'Perry', 'Powell', 'Long', 'Patterson', 'Hughes', 'Flores', 'Washington',
'Butler', 'Simmons', 'Foster', 'Gonzales', 'Bryant', 'Alexander', 'Russell', 'Griffin', 'Diaz', 'Hayes',
'Myers', 'Ford', 'Hamilton', 'Graham', 'Sullivan', 'Wallace', 'Woods', 'Cole', 'West', 'Jordan',
'Owens', 'Reynolds', 'Fisher', 'Ellis', 'Harrison', 'Gibson', 'McDonald', 'Cruz', 'Marshall', 'Ortiz',
'Gomez', 'Murray', 'Freeman', 'Wells', 'Webb', 'Simpson', 'Stevens', 'Tucker', 'Porter', 'Hunter',
'Hicks', 'Crawford', 'Henry', 'Boyd', 'Mason', 'Morales', 'Kennedy', 'Warren', 'Dixon', 'Ramos',
'Reyes', 'Burns', 'Gordon', 'Shaw', 'Holmes', 'Rice', 'Robertson', 'Hunt', 'Black', 'Daniels',
'Palmer', 'Mills', 'Nichols', 'Grant', 'Knight', 'Ferguson', 'Rose', 'Stone', 'Hawkins', 'Dunn',
'Perkins', 'Hudson', 'Spencer', 'Gardner', 'Stephens', 'Payne', 'Pierce', 'Berry', 'Matthews', 'Arnold',
'Wagner', 'Willis', 'Ray', 'Watkins', 'Olson', 'Carroll', 'Duncan', 'Snyder', 'Hart', 'Cunningham',
'Bradley', 'Lane', 'Andrews', 'Ruiz', 'Harper', 'Fox', 'Riley', 'Armstrong', 'Carpenter', 'Weaver',
'Greene', 'Lawrence', 'Elliott', 'Chavez', 'Sims', 'Austin', 'Peters', 'Kelley', 'Franklin', 'Lawson',
'Fields', 'Gutierrez', 'Ryan', 'Schmidt', 'Carr', 'Vasquez', 'Castillo', 'Wheeler', 'Chapman', 'Oliver',
'Montgomery', 'Richards', 'Williamson', 'Johnston', 'Banks', 'Meyer', 'Bishop', 'McCoy', 'Howell', 'Alvarez',
'Morrison', 'Hansen', 'Fernandez', 'Garza', 'Harvey', 'Little', 'Burton', 'Stanley', 'Nguyen', 'George',
'Jacobs', 'Reid', 'Kim', 'Fuller', 'Lynch', 'Dean', 'Gilbert', 'Garrett', 'Romero', 'Welch']
last_name_of_students = ['Emma', 'Liam', 'Olivia', 'Noah', 'Ava', 'Isabella', 'Sophia', 'Jackson', 'Mia', 'Lucas',
'Aiden', 'Ethan', 'Luna', 'Mason', 'Harper', 'Evelyn', 'Oliver', 'Aria', 'Amelia', 'Caden',
'Grayson', 'Charlotte', 'Chloe', 'Ella', 'Sebastian', 'Carter', 'Abigail', 'Scarlett', 'Madison',
'Lily', 'Avery', 'Ella', 'Aubrey', 'Mila', 'Layla', 'Riley', 'Zoe', 'Sofia', 'Jackson', 'Liam',
'Leah', 'Zoe', 'Henry', 'Gabriel', 'Grace', 'Hannah', 'Mila', 'Alexa', 'Eva', 'Liam', 'Mia',
'Logan', 'Benjamin', 'Emily', 'Nora', 'Elijah', 'Lucy', 'Owen', 'Elizabeth', 'Stella', 'Levi',
'William', 'Lily', 'Zoey', 'Parker', 'Brooklyn', 'Samuel', 'Luke', 'Madelyn', 'Eleanor', 'Nathan',
'Isaac', 'Ryan', 'Ariana', 'Addison', 'Scarlett', 'Julian', 'Natalie', 'Victoria', 'Adam', 'Alexis',
'Aaron', 'Aaliyah', 'Robert', 'Samantha', 'Christopher', 'Hazel', 'Serenity', 'Jordan', 'Leah', 'Chase',
'Lillian', 'Liam', 'Skylar', 'Bella', 'Zachary', 'Caleb', 'Tyler', 'Connor', 'Eli', 'Aaliyah',
'Ezekiel', 'Eva', 'Landon', 'Grace', 'Makayla', 'Nicholas', 'Natalie', 'Nathan', 'Avery', 'Cameron',
'Hudson', 'Violet', 'Claire', 'Gavin', 'Eva', 'Zachary', 'Alexa', 'Brooklyn', 'Kylie', 'Peyton',
'Emma', 'John', 'Aubrey', 'Carter', 'Mila', 'Elena', 'Paisley', 'Grayson', 'Hailey', 'Elijah',
'Ellie', 'Julian', 'Adrian', 'Aria', 'Liliana', 'Bentley', 'Kinsley', 'Savannah', 'Eliana', 'Sofia',
'Liam', 'Ella', 'Evelyn', 'Avery', 'Austin', 'Scarlett', 'Leah', 'Aiden', 'Audrey', 'Amelie',
'Julian', 'Mila', 'Olivia', 'Anthony', 'Caleb', 'Zoe', 'Autumn', 'Samantha', 'Aria', 'Cooper',
'Eva', 'Charlie', 'Madison', 'Landon', 'Penelope', 'Kaylee', 'Lily', 'Ryder', 'Hannah', 'Maya',
'Christopher', 'Eleanor', 'Levi', 'Aubree', 'Emma', 'Sofia', 'Evan', 'Ella', 'Gabriel', 'Zachary',
'Taylor', 'Liam', 'Makayla', 'Zoe', 'Oliver', 'Isaiah', 'Brooklyn', 'Lily', 'Victoria', 'Cameron',
'Madison', 'Eva', 'Gabriel', 'Zoe', 'Brooklyn', 'Sophie', 'Ella', 'Logan', 'Madison', 'Julian',
'Alexis', 'Landon', 'Grace', 'Lucas', 'Aria', 'Aaliyah', 'Adrian', 'Riley', 'Nora', 'Isabella',
'Eva', 'Layla', 'Aiden', 'Amelia', 'Chloe', 'Levi', 'Lillian', 'Liam', 'Zoey', 'Hazel', 'Carter',
'Grace', 'Peyton', 'Julian', 'Eliana', 'Eva', 'Harper', 'Henry', 'Olivia', 'Lily', 'Liam', 'Abigail']
place_of_birth = ['Mons', 'Charleroi', 'Tournai', 'La Louvière', 'Namur', 'Nivelles', 'Wavre', "Braine-l'Alleud", 'Waterloo', 'Louvain-la-Neuve',
'Soignies', 'Thuin', 'Binche', 'Ath', 'Enghien', 'Jodoigne', 'Gembloux', 'Fleurus', 'Sambreville', 'Châtelet',
'Marche-en-Famenne', 'Dinant', 'Ciney', 'Philippeville', 'Huy', 'Andenne', 'Ottignies-Louvain-la-Neuve', 'Hannut', 'Waremme', 'Fosses-la-Ville',
'Tubize', 'Nivelles', 'Genappe', 'Jodoigne', 'Ottignies', 'La Hulpe', 'Court-Saint-Étienne', 'Rebecq', 'Wavre', 'Waterloo',
'Lasne', 'Rixensart', 'Rosières', 'Ittre', 'Braine-le-Château', 'Chaumont-Gistoux', 'Walhain', 'Mont-Saint-Guibert', 'Beauvechain', 'Hélécine']
streets = ['Rue de la Liberté', 'Avenue des Roses', 'Chaussée de Bruxelles', 'Rue du Commerce', 'Avenue du Parc', 'Rue Saint-Pierre', 'Chemin des Cerisiers', 'Boulevard des Étoiles', 'Avenue de la Gare', 'Rue des Champs',
'Chaussée de Namur', 'Rue de la Paix', 'Avenue des Lilas', 'Rue de la Fontaine', 'Chemin du Moulin', 'Boulevard des Arts', 'Avenue des Mésanges', 'Rue des Orangers', 'Chaussée de Liège', 'Rue de l\'Église',
'Avenue du Lac', 'Rue des Violettes', 'Chemin des Peupliers', 'Boulevard de la Mer', 'Rue des Platanes', 'Avenue des Acacias', 'Chaussée de Mons', 'Rue de la Rivière', 'Avenue du Soleil', 'Rue des Écoles',
'Chemin des Pommiers', 'Boulevard des Montagnes', 'Rue des Trois Fontaines', 'Avenue des Cèdres', 'Chaussée de Charleroi', 'Rue du Théâtre', 'Boulevard des Papillons', 'Rue des Primevères', 'Avenue des Charmes', 'Chemin des Saules',
'Rue du Palais', 'Avenue de la Plage', 'Chaussée de Waterloo', 'Rue des Amandiers', 'Boulevard du Jardin', 'Avenue des Coquelicots', 'Rue des Moulins', 'Chemin des Roses', 'Boulevard de la Forêt', 'Rue des Iris']
all_course_BAC1 = ("Anglais 1", "Fondements du droit public", "Fondements du droit de l'entreprise", "Economie", "Espagnol 1", "Comptabilité", "Informatique de gestion", "Mathématiques de gestion 1", "Statistiques et probabilités", "Pilosophie", "Psychologie", "Sociologie", "Séminaire de travail universitaire en gestion")
all_course_BAC2 = ("Anglais 2", "Droit de l'entreprise", "Macroéconomie", "Microéconomie", "Espagnol 2", "Marketing", "Production", "Informatique et algorithmique", "Finance", "Inférences statistiques", "Mathématiques de gestion 2", "Technologies industrielles")
all_course_BAC3 = ("Anglais 3", "Economie industrielle", "Espagnol 3", "Séminaire : organisations et transformation digitale", "Management humain", "Projet entrepreneurial", "Comptabilité et contrôle de gestion", "Gestion de données", "Coding project", "Econométrie", "Recherche opérationnelle", "Optimization", "Séminaire : organisation et mutations sociales", "Questions de sciences religieuses")
all_course_MA1 = ("Advanced English 1", "Español avanzado 1", "Data analytics", "Projet quantitatif et gestion de projet", "Data Mining", "Nouvelles technologies et pratiques émergentes", "Web mining", "Machine learning", "Quantitative Decision Making", "Recommender Systems", "Pilotage stratégique de l'entreprise", "Séminaire on Current Managerial Issues")
all_course_MA2 = ("Advanced English 2", "Español avanzado 1", "Responsabilité sociétale de l'entreprise","Integrated Information Systems", "Mémoire", "Séminaire d'accompagnement du mémoire")
# Générer des combinaisons aléatoires de noms et prénoms pour plus de 1000 personnes
for each in range(number_of_students): # générer des données
if n not in phone_number :
phone_number.append(n)
phone = f"0{n[:2]}/{n[2:4]}.{n[4:6]}.{n[6:]}"
student_city = random.choice(place_of_birth)
student_street = random.choice(streets)
student_number_of_house = random.randint(1, 200)
adress_of_student = f"{student_number_of_house} {student_street}, {student_city}"
email_of_student = f"{first_name}{'.'}{last_name}{'@student.uclouvain.be'}"
email_formated = email_of_student.lower()
# date de naissance sachant que l'on est en 2023 donc qqn de 17 ans ne peut pas se trouver en master
if academic_year == 'BAC1':
year_of_birth = 2005
elif academic_year == 'BAC2':
year_of_birth = 2004
elif academic_year == 'BAC3':
year_of_birth = 2003
elif academic_year == 'MA1':
year_of_birth = 2002
month_of_birth = random.randint(1, 12)
day_of_birth = random.randint(1, 28)
complete_date_of_birth = f"{day_of_birth}/{month_of_birth}/{year_of_birth}"
consonant_of_lastname = ''.join([c for c in last_name if c.lower() not in 'aeiou'])[:3]
consonant_of_firstname = ''.join([c for c in first_name if c.lower() not in 'aeiou'])[:2]
last_consonant_of_firstname = ''.join([c for c in first_name if c.lower() not in 'aeiou']).lower()[-1] # ne sait pas si c'est la consonne du prénom ou du nom
year_of_birth_string = str(year_of_birth)[-2:]
random_integer = random.randint(0, 10)
matricule = f"{consonant_of_lastname }{consonant_of_firstname}{last_consonant_of_firstname}{year_of_birth_string}{random_integer}"
matricule = matricule.lower()
#attribution des notes aléatoirement
grades = {}
if academic_year == 'MA2':
for courses in all_course_BAC1 + all_course_BAC2 + all_course_BAC3 + all_course_MA1:
grades[courses] = random.randint(10, 20) # l'éléve a dû réussir ces cours pour pouvoir avoir acces en MA2
for courses in all_course_MA2 :
grades[courses] = random.randint(0, 20) # l'éléve pourrait avoir eu entre 0 et 20
elif academic_year == 'MA1':
for courses in all_course_BAC1 + all_course_BAC2 + all_course_BAC3 :
grades[courses] = random.randint(10, 20)
for courses in all_course_MA1 :
grades[courses] = random.randint(0, 20)
elif academic_year == 'BAC3':
for courses in all_course_BAC1 + all_course_BAC2 :
grades[courses] = random.randint(10, 20)
for courses in all_course_BAC3 :
grades[courses] = random.randint(0, 20)
elif academic_year == 'BAC2':
for courses in all_course_BAC1 :
grades[courses] = random.randint(10, 20)
for courses in all_course_BAC2 :
grades[courses] = random.randint(0, 20)
for courses in all_course_BAC1:
grades[courses] = random.randint(0, 20)
data_generated.append({"Name": last_name, "Surname": first_name, "Academic Year" : academic_year, "Place of Birth" : city_of_birth , "Telephone": phone, "Address": adress_of_student, "Genre" : gender_of_student, "Email" : email_formated, "Campus" : campus, "Date of Birth" : complete_date_of_birth, "Matricule" : matricule, **grades})
# génération de données qui ne peuvent pas se ressembler
# Créer un DataFrame pandas
# Enregistrer le DataFrame dans un fichier Excel
df.to_excel("Data_Base.xlsx", index=False)