Python | Generar datos personalizados a partir de una lista dada de expresiones

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)])

Publicación traducida automáticamente

Artículo escrito por amfs y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *