Leyendo y analizando un archivo CSV
Para leer y analizar un archivo CSV en Python, puedes utilizar el módulo csv
integrado. Este módulo proporciona un conjunto de funciones y clases que simplifican el proceso de trabajar con datos CSV.
Leyendo un archivo CSV
La función csv.reader()
se utiliza para leer el contenido de un archivo CSV y devolver un iterador que se puede utilizar para acceder a los datos fila por fila. Aquí hay un ejemplo:
import csv
with open('data.csv', 'r') as file:
reader = csv.reader(file)
for row in reader:
print(row)
En este ejemplo, primero importamos el módulo csv
. Luego abrimos el archivo CSV 'data.csv'
en modo lectura utilizando la declaración with
, lo que garantiza que el archivo se cierre correctamente después de que se ejecute el bloque de código.
Dentro del bloque with
, creamos un objeto csv.reader
pasando el objeto de archivo a la función csv.reader()
. Este objeto lector se puede utilizar para iterar sobre las filas del archivo CSV, y cada fila se devuelve como una lista de valores.
Analizando datos CSV
Además de la función básica csv.reader()
, el módulo csv
también proporciona la clase csv.DictReader
, que te permite leer los datos CSV en un diccionario, donde las claves son los nombres de las columnas y los valores son los datos correspondientes para cada fila.
Aquí hay un ejemplo:
import csv
with open('data.csv', 'r') as file:
reader = csv.DictReader(file)
for row in reader:
print(row)
En este ejemplo, creamos un objeto csv.DictReader
y le pasamos el objeto de archivo. La clase DictReader
utiliza automáticamente la primera fila del archivo CSV como los nombres de las columnas, y cada fila subsiguiente se devuelve como un diccionario, con los nombres de las columnas como claves y los valores correspondientes para esa fila.
Al utilizar la clase csv.DictReader
, puedes acceder fácilmente a los datos del archivo CSV por nombre de columna, lo que lo hace más conveniente para el procesamiento y el análisis.
graph TD
A[Archivo CSV] --> B[csv.reader()]
A[Archivo CSV] --> C[csv.DictReader()]
B[csv.reader()] --> D[Lista de listas]
C[csv.DictReader()] --> E[Lista de diccionarios]
En la siguiente sección, exploraremos cómo transformar los datos CSV en una lista de tuplas, que puede ser una estructura de datos útil para el procesamiento posterior.