Hola a todos!!
Antes de comenzar les agradezco se suscriban a mi canal de Youtube: https://www.youtube.com/c/sramirez88
Les dejo este ejercicio que nos permita entender, el manejo de estos archivos (Creación, Lectura, Escritura y modificaciones), por lo tanto lo vamos a hacer paso a paso:
Vamos a crear un archivo que nos permita hacer las modificaciones de un archivo principal. Este archivo principal contiene información (Descarga este archivo para que iniciemos):
- El archivo principal.csv contiene información acerca de la venta de vehículos desde el 2020 al 2022, cuyas columnas guardan la siguiente información:
NUMERO, FECHA, MARCA,EDAD, SEXO
- El archivo nuevo lo vamos a crear con 3 columnas (MARCA, EDAD, SEXO), tendrá el nombre: indicador.csv.
ACTIVIDAD:
- ¿Cuántas personas del sexo F compraron Toyota?
- ¿Cuál es el promedio de edades que compraron Renault?
- Ordene el archivo de menor edad a mayor
El archivo creado debe verse así:
CODIGO:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 | import csv
with open('indicador.csv','w',newline='') as csvfile: #Crear el archivo indicador.csv
fieldnames=['MARCA;EDAD;SEXO']#Encabezados
writer=csv.DictWriter(csvfile,fieldnames)
writer.writeheader()#Crear el encabezado
exam1=0 #Variable creada para conteo de compras de TOYOTA
sumaEdad=0 #variable creada pasa suma de edad de compras de RENAULT
cantidadEdad=0#Variable para conteo de compras de RENAULT
archivo=open('principal.csv','r')#Abrir y leer el archivo que tiene la información
lines=archivo.read().splitlines()#Divide el archivo en líneas
lines.pop(0) #Borra el encabezado
data=[]#Se crea una lista para ordenarla e incluirla al archivo indicador.csv
for l in lines:
linea=l.split(',')#Separa cada dato hasta la ','
#¿Cuántas personas del sexo F compraron Toyota?
if linea[4]=='F' and linea[2]=='TOYOTA':
exam1 += 1
#¿Cuál es el promedio de edades que compraron Renault?
if linea[2]=='RENAULT':
sumaEdad += int(linea[3])
cantidadEdad +=1
data.append([linea[2],linea[3],linea[4]])
#Ordene el archivo de menor edad a mayor
for i in range (-1,len(data)):
for l in range(len(data)):
if int(data[l][1])>int(data[i][1]):
data[l],data[i]=data[i],data[l]
#Ingresamos los datos a indicador.csv, separado por ";")
for i in range(len(data)):
csvfile.write(str(data[i][0])+";"+str(data[i][1])+";"+str(data[i][2])+"\n")
csvfile.close()
archivo.close()
promedio=sumaEdad/cantidadEdad
print("¿Cuántas personas del sexo F compraron Toyota?: ",exam1)
print("¿Cuál es el promedio de edades que compraron Renault?: ",promedio)
|
RESULTADO:
RETO:
- ¿Cuál fue la marca más vendida en el 2021? Comparte pantallazo del resultado.
Felicitaciones!!! Ya sabes leer, escribir y modificar datos CSV desde Python.