Los archivos CSV son una forma de almacenar una hoja de cálculo como archivo de texto. Cada valor del archivo está separado por una coma.(comma separated values)
De ahí el nombre…
Mira, es básicamente una hoja de cálculo.
Afortunadamente, los archivos CSV son tan comunes que Python ya tiene bibliotecas incorporadas para trabajar con ellos.
👉 El fichero csv ‘January.csv’ ha sido añadido para ti. Veamos qué ocurre:
import csv # Imports the csv library
with open("January.csv") as file: # Opens the csv file
reader = csv.reader(file) # reads the contents of the csv file into the 'reader' variable
line = 0
for row in reader: # loop to output each row in the 'reader' variable one at a time.
print (row)
Esto funciona, pero la salida no es muy bonita. Y nos gusta lo bonito.

👉 Usemos join. Nos permite combinar listas de una forma más interesante.
import csv
with open("January.csv") as file:
reader = csv.reader(file)
line = 0
for row in reader:
print (", ".join(row)) # adds a comma and space and then joins data, you could try joining with tabs too with `\t`
👉 El truco es tratar el CSV como un diccionario, usando la función csv.DictReader(). En el siguiente código, lo he filtrado para que sólo muestre el total neto de cada día.
import csv # Imports the csv library
with open("January.csv") as file:
reader = csv.DictReader(file) # Treats the file as a dictionary
line = 0
for row in reader:
print (row["Net Total"])

👉 Ahora vamos a ver si podemos sumar los totales netos de cada día para crear un total. Ten en cuenta que he convertido los datos a float porque nuestra biblioteca los tratará como texto.
import csv # Imports the csv library
with open("January.csv") as file:
reader = csv.DictReader(file) # Treats the file as a dictionary
total = 0
for row in reader:
print (row["Net Total"])
total += float(row["Net Total"]) # Keeps a running total
print(f"Total: {total}") #Outputs
*Primero, borra cualquier otro código de tu fichero main.py. Copia cada fragmento de código en main.py haciendo clic en el icono de copia en la parte superior derecha de cada cuadro de código. A continuación, pulsa run y comprueba qué errores se producen. Corrige los errores y pulsa “run” de nuevo hasta que estés libre de errores. Haz clic en “Respuesta” para comparar tu código con el correcto.
👉 ¿Cuál es el problema aquí?
import csv # Imports the csv library
with open("January.csv") as file:
reader = csv.DictReader(file)
line = 0
for row in reader:
print (row["Net Total"])
total += row["Net Total"]
print(f"Total: {total}")
👉 ¿Cuál es el problema aquí?
import csv # Imports the csv library
with open("January.csv") as file:
reader = csv.DictReader(file)
for row in reader:
print (", ".join(row["Net Total"]))
total += float(row["Net Total"])
print(f"Total: {total}")
¿Obtuvo esta salida?

Te he dado un archivo CSV llamado ‘Day54Totals.csv’ (mira tu árbol de archivos) que contiene varios datos en los campos ‘coste’ y ‘cantidad’ de artículos vendidos. ¿Cuánto dinero ganó esta tienda en un día?
Tu programa debería
Ejemplo:
🌟Shop $$ Tracker🌟
Tu tienda se ha llevado hoy 592 libras.
La solucion a este ejercicio lo encontramos en main.py