Un archivo CSV es un archivo de «valores separados por comas». En inglés simple, este es un archivo de texto que contiene una cantidad inusualmente grande de datos. La mayoría de las veces, esto se usa para crear bases de datos de información, donde cada unidad de datos está separada por una coma. ¡De ahí el nombre!
Ser capaz de manipular, cargar y almacenar grandes cantidades de datos es una habilidad enormemente beneficiosa cuando se programa. Esto es particularmente cierto en Python, ya que Python es una opción tan popular para el aprendizaje automático y la ciencia de datos.
¡Sigue leyendo y exploraremos cómo leer archivos CSV en Python!
Cómo leer archivos CSV en Python importando módulos
Para comenzar, primero vamos a crear nuestro archivo CSV.
Puede hacer esto en Excel creando una hoja de cálculo simple y luego eligiendo guardarla como un archivo CSV. Hice una pequeña lista de ejercicios, que se ve así:
Si abrimos esto como un archivo de texto, vemos que se almacena así:
Type of Exercise,Sets and Reps,Weight Bench press,3 x 3,120kg Squat,3 x 3,100kg Deadlift,3 x 3,150kg Curls,3 x 5,25kg Bent rows,3 x 5,80kg Military press ,3 x 5,60kg
¡La línea superior define los valores, y cada línea subsiguiente incluye tres entradas!
Entonces, ¿cómo abrimos esto en Python? Afortunadamente, no hay necesidad de construir un analizador CSV desde cero. Más bien, simplemente podemos usar módulos listos para usar. El que nos interesa se llama, lo has adivinado, ¡CSV!
Hacemos eso así:
import csv
Ahora, podemos abrir el archivo CSV e imprimir esos datos en la pantalla:
with open('c:PythonExercises.csv') as csv_file: csvFile = csv.reader(csv_file, delimiter=",") for row in csvFile: print(row)
También podemos dividir los datos si queremos hacer cosas elegantes con ellos:
for row in csvFile: if lineCount > 0: print(f'Perform {row[0]} for {row[1]} sets and reps, using {row[2]}.') lineCount += 1
Como puede ver, esto simplemente se ejecutará a través del archivo, extraerá cada pieza de datos y luego lo escribirá en inglés simple.
O, ¿qué pasa si queremos sacar una fila específica?
for row in csvFile: if lineCount == 2: print(f'Perform {row[0]} for {row[1]} sets and reps, using {row[2]}.') lineCount += 1
Finalmente, ¿qué pasa si queremos escribir en un archivo CSV? En ese caso, podemos usar el siguiente código:
with open('C:PythonExercises2.csv', mode="w") as trainingRoutine: trainingRoutine = csv.writer(trainingRoutine, delimiter=",", quotechar=""", quoting=csv.QUOTE_MINIMAL) trainingRoutine.writerow(['Exercise', 'Sets and Reps', 'Weight']) trainingRoutine.writerow(['Curls', '3 x 5', '25kg']) trainingRoutine.writerow(['Bench Press', '3 x 3', '120kg'])
Cómo abrir archivos CSV en Python manualmente
Recuerde que un archivo CSV es en realidad solo un documento de texto con un formato elegante. ¡Eso significa que en realidad no necesita usar un módulo si desea saber cómo abrir archivos CSV en Python!
Simplemente puede escribir en un archivo de texto de esta manera:
myFile = open("Exercises3.csv", "w+") myFile.write("Exercise,Sets and Reps,WeightnCurls,3 x 5,25kgnBench Press,3 x 3,120kg") myFile.close()
¡Esto en realidad hace que sea bastante simple tomar el contenido de una lista, diccionario o conjunto, y convertirlos en un CSV! Del mismo modo, podríamos leer nuestros archivos de manera similar y luego simplemente desglosar los datos buscando comas. La razón principal para no hacer esto es que algunos archivos CSV utilizarán un formato ligeramente diferente, lo que puede causar problemas al abrir muchos archivos diferentes. Si solo estás trabajando con tu propio sin embargo, entonces no tendrás problemas!
Y ahí lo tienes: ¡ahora sabes cómo abrir archivos CSV en Python! Y con eso, has incursionado en tu primer desarrollo de JSON e incluso un poco de ciencia de datos. ¡Sentirse orgulloso!
¿Qué vas a hacer con este conocimiento? ¡Háganos saber en los comentarios a continuación!