Trabajar con CSV-archivos (Comma-Separated Values) es una tarea común en la programación que se muestra en muchas aplicaciones prácticas. Ya sea que recuperes datos de APIs o gestiones inventarios, la posibilidad de leer y escribir archivos CSV es indispensable. En esta guía aprenderás cómo procesar archivos CSV de manera efectiva con Python. Vamos a ver la creación de archivos CSV, la lectura de datos y la manipulación de estos datos.
Principales conclusiones
- Resumen del módulo: Python ofrece un módulo CSV integrado que proporciona un lector y un escritor CSV.
- Estructura de datos: Puedes utilizar tanto listas como diccionarios para almacenar y procesar datos.
- Manejo eficiente de I/O: Utiliza with open(...) para manejar el acceso a archivos, para no tener que preocuparte por cerrar los archivos.
Guía paso a paso
Crear un directorio y un archivo CSV
Primero, crea un directorio vacío. En este directorio deberías crear un archivo llamado csvdateien.py. Este archivo será tu script principal para trabajar con archivos CSV.

Dentro de tu archivo Python, puedes crear el archivo CSV usando el nombre produkte.csv. En este archivo definirás las columnas con los encabezados ID de producto, Nombre, Precio y Stock.

El archivo CSV podría verse así:
ID de producto,Nombre,Precio,Stock 1,iPad,399,50 2,Nerfgun,29.99,100
Leer archivo CSV
Para leer datos del archivo produkte.csv, necesitas el módulo CSV. Este módulo te permite procesar datos CSV de manera eficiente. Puedes convertir los datos a un formato legible utilizando with open(...). Esto evita el cierre manual de objetos de archivo y hace que tu código sea más limpio y seguro.
En el siguiente paso, crearás un lector CSV. Esto te permitirá recorrer el archivo línea por línea y extraer los datos:
with open('produkte.csv', newline='', encoding='utf-8') as csvfile: csvreader = csv.reader(csvfile) for row in csvreader: print(row)

De este modo, cada línea se leerá como una lista, lo que muestra que los datos están estructurados como se esperaba. Cada línea corresponde a un producto e incluye información sobre ID, Nombre, Precio y Stock.
Uso de diccionarios para un procesamiento de datos más intuitivo
Para manejar los datos de manera más simple e intuitiva, debes utilizar el formato de diccionario. Con un lector de diccionario, puedes facilitar el acceso a tus datos a través de los nombres de los campos.

Aquí también necesitarás with open(...), para abrir el archivo y crear el lector CSV. Asegúrate de proporcionar una lista de los campos que deseas extraer:

Ahora puedes acceder fácilmente a los campos a través de sus nombres. Esto hace que tu procesamiento sea mucho más accesible.
Escribir archivo CSV
Para escribir tus propios datos en un archivo CSV, puedes usar un objeto escritor de diccionario. Tienes la opción de crear una lista de diccionarios que representen tus datos.

A continuación, un ejemplo sencillo de cómo puedes almacenar una lista de superhéroes como un archivo CSV:
with open('superhelden.csv', 'w', newline='') as csvfile: fieldnames = ['Nombre', 'Alias'] writer = csv.DictWriter(csvfile, fieldnames=fieldnames)

El archivo superhelden.csv ahora se creará y contendrá los datos de los superhéroes en un formato legible y bien estructurado.
Conclusión y aplicación práctica
Los archivos CSV son una herramienta valiosa para el intercambio de datos, que a menudo se necesita en la práctica. Esta guía te proporciona las bases para procesar archivos CSV con Python. Has aprendido cómo leer datos de archivos CSV, procesarlos en Python y escribir tus propios datos en formato CSV.
Resumen – procesamiento de archivos CSV con Python
Los archivos CSV son un formato importante para el intercambio de datos en muchas aplicaciones. Con Python, puedes trabajar de manera eficiente y sencilla con estos archivos. Una vez que comprendas las bases, podrás aplicar fácilmente estas técnicas a aplicaciones de datos más complejas.
Preguntas frecuentes
¿Cómo abro un archivo CSV en Python?Puedes abrir un archivo CSV en Python con with open('nombre_archivo.csv', 'r'):.
¿Cómo puedo escribir datos en un archivo CSV?Para ello, utilizas el objeto csv.writer o csv.DictWriter para formatear los datos y escribirlos en el archivo.
¿Cuál es la diferencia entre csv.reader y csv.DictReader?El csv.reader lee los datos como listas, mientras que csv.DictReader devuelve los datos como diccionarios con los nombres de los campos como claves.
¿Cómo puedo establecer el encabezado en un archivo CSV?El encabezado se puede especificar con writeheader() al escribir un archivo CSV mediante el escritor.
¿Cómo leo un archivo CSV con nombres de campo personalizados?Pasa una lista de los nombres de campo deseados al crear un csv.DictReader.