Os paso una posible solución a la creación del csv con los campos NOMBRE-APELLIDO1-APELLIDO2-SEXO-FECHA NACIMIENTO

#-*- coding: utf-8 -*-
import random
def generaFecha(min, max):
    '''
    Queremos que genere una fecha de nacimiento
    aleatoria
    '''
    anio = random.randrange(min,max)
    mes = random.randrange(1,13)
    dia = random.randrange(1,28)
    return '{}-{:02d}-{:02d}'.format(anio,mes,dia)

#Las tablas de las que obtendremos los datos
nombres = ['Luis','Aitana','Kimberly','Damaris','Raúl','Pilar','Jimena','Jonathan','Taylor']
apellidos = ['Gómez','Fernández','Boubulasi','Ramírez','Gutiérrez','Molano','Romero','Medina','Abdhelsahi','Melgar','Puyetes','Jiménez']
sexo = ['M','H']

fich = open('mogollotis.csv','w')
for i in range(50000):
    nom = nombres[random.randrange(0,len(nombres))]
    apel1 = apellidos[random.randrange(0,len(apellidos))]
    apel2 = apellidos[random.randrange(0,len(apellidos))]
    sex = sexo[random.randrange(0,len(sexo))]
    fich.write('{};{};{};{};{}\n'.format(nom,apel1,apel2,sex,generaFecha(1960,2001)))
fich.close()

Os paso el csv que he generado yo para que realicemos diferentes consultas y obtengamos los mismos resultados: mogollotis(Una vez descargado cámbia el .key por .csv ;D )

Crea con SQLITEMAN la base de datos PERSONAS; dentro de ella crea la tabla IMPORTADA con los campos NOMBRE, APELLIDO1, APELLIDO2, SEXO, FECHANACI todos text

Y a realizar las preguntassqlite que veamos en clase.

Como aperitivo: ¿Qué crees que hace la consulta select nombre, count(nombre),date(‘now’)-date(fechanaci) as edad
from importada
group by nombre, edad;?

Un saludo

 

Anuncios