Dadas diferentes listas de expresiones, la tarea es generar una combinación aleatoria de estas expresiones en un archivo csv para algunos propósitos, como bases de datos de prueba, contrario al simulador de datos ordinales que genera conjuntos de datos a partir de números aleatorios y nombres estándar.
Ejemplos:
Input :lists of your own expressions Names = ['David', 'Emilia', 'John', 'Karmen'], Hobbies = ['Hiking', 'football', 'Gaming', 'Skydiving'], skills = ['Communication', 'leadership', 'cooking'] Output : a csv file with a random combination of expressions Names, Age, Hobbies, skills Emilia, 54, "['football', 'Hiking']", leadership David, 22, "['Skydiving', 'Gaming']", cooking Emilia, 59, "['football', 'Skydiving']", leadership Emilia, 45, "['Gaming', 'football']", leadership David, 62, "['Hiking', 'football']", cooking David, 56, "['football', 'Hiking']", leadership John, 17, "['Gaming', 'football']", cooking David, 28, "['Gaming', 'football']", leadership David, 28, "['Skydiving', 'football']", cooking John, 17, "['Gaming', 'Skydiving']", cooking John, 61, "['Hiking', 'football']", cooking John, 44, "['Hiking', 'Gaming']", leadership Emilia, 17, "['Hiking', 'Gaming']", Communication Karmen, 34, "['football', 'Skydiving']", leadership Emilia, 65, "['football', 'Hiking']", leadership
Código: Generación de datos personalizados
# importing libraries import csv import random # create a csv file named "abc" that contains our dataset with open('abc.csv', 'w', newline ='') as f: file = csv.writer(f) file.writerow(['Names', 'Age', 'Hobbies', 'skills']) # generate rows as much as wanted for i in range (1, 10) : Names =['David', 'Emilia', 'John', 'Karmen'] Hobbies =['Hiking', 'football', 'Gaming', 'Skydiving'] skills =['Communication', 'leadership', 'cooking'] file.writerow([random.choice(Names), random.randint(17, 65), random.sample(Hobbies, 2), random.choice(skills)])