Los archivos CSV (Comma-Separated Values) son un formato común para almacenar datos tabulares en texto plano. En Python, el módulo csv
proporciona herramientas para leer y escribir archivos CSV de manera eficiente.
Contenido
- Introducción a los Archivos CSV
- Lectura de Archivos CSV
- Escritura de Archivos CSV
- Ejercicios Prácticos
- Resumen
- Introducción a los Archivos CSV
Los archivos CSV son archivos de texto donde cada línea representa una fila de datos y cada valor dentro de una fila está separado por una coma (u otro delimitador). Este formato es ampliamente utilizado debido a su simplicidad y compatibilidad con muchas aplicaciones.
Ejemplo de Archivo CSV
- Lectura de Archivos CSV
Para leer archivos CSV en Python, utilizamos el módulo csv
. A continuación, se muestra cómo leer un archivo CSV y procesar sus datos.
Ejemplo de Lectura de Archivo CSV
import csv # Abrir el archivo CSV with open('datos.csv', mode='r', newline='') as archivo: lector_csv = csv.reader(archivo) # Leer el encabezado encabezado = next(lector_csv) print(f"Encabezado: {encabezado}") # Leer las filas restantes for fila in lector_csv: print(f"Fila: {fila}")
Explicación del Código
open('datos.csv', mode='r', newline='')
: Abre el archivodatos.csv
en modo lectura ('r'
).csv.reader(archivo)
: Crea un objeto lector CSV.next(lector_csv)
: Lee la primera fila del archivo, que generalmente es el encabezado.for fila in lector_csv
: Itera sobre las filas restantes del archivo.
Ejemplo de Archivo CSV para el Código
Salida Esperada
Encabezado: ['nombre', 'edad', 'ciudad'] Fila: ['Juan', '28', 'Madrid'] Fila: ['Ana', '22', 'Barcelona'] Fila: ['Luis', '35', 'Valencia']
- Escritura de Archivos CSV
Para escribir datos en un archivo CSV, también utilizamos el módulo csv
. A continuación, se muestra cómo escribir datos en un archivo CSV.
Ejemplo de Escritura de Archivo CSV
import csv # Datos a escribir datos = [ ['nombre', 'edad', 'ciudad'], ['Juan', '28', 'Madrid'], ['Ana', '22', 'Barcelona'], ['Luis', '35', 'Valencia'] ] # Abrir el archivo CSV en modo escritura with open('salida.csv', mode='w', newline='') as archivo: escritor_csv = csv.writer(archivo) # Escribir las filas escritor_csv.writerows(datos)
Explicación del Código
open('salida.csv', mode='w', newline='')
: Abre el archivosalida.csv
en modo escritura ('w'
).csv.writer(archivo)
: Crea un objeto escritor CSV.escritor_csv.writerows(datos)
: Escribe todas las filas de la listadatos
en el archivo CSV.
Archivo CSV Resultante
- Ejercicios Prácticos
Ejercicio 1: Lectura de un Archivo CSV
Escribe un programa que lea un archivo CSV llamado productos.csv
y muestre cada producto con su precio.
Archivo productos.csv
Solución
import csv with open('productos.csv', mode='r', newline='') as archivo: lector_csv = csv.reader(archivo) encabezado = next(lector_csv) print(f"Encabezado: {encabezado}") for fila in lector_csv: producto, precio = fila print(f"Producto: {producto}, Precio: {precio}")
Ejercicio 2: Escritura de un Archivo CSV
Escribe un programa que cree un archivo CSV llamado estudiantes.csv
con los siguientes datos:
Datos
Solución
import csv datos = [ ['nombre', 'edad', 'grado'], ['Carlos', '20', 'Ingeniería'], ['María', '22', 'Medicina'], ['Pedro', '21', 'Arquitectura'] ] with open('estudiantes.csv', mode='w', newline='') as archivo: escritor_csv = csv.writer(archivo) escritor_csv.writerows(datos)
- Resumen
En esta sección, hemos aprendido a trabajar con archivos CSV en Python utilizando el módulo csv
. Hemos cubierto:
- Cómo leer archivos CSV y procesar sus datos.
- Cómo escribir datos en archivos CSV.
- Ejercicios prácticos para reforzar el aprendizaje.
Con estos conocimientos, puedes manejar archivos CSV en tus proyectos de Python, lo que es especialmente útil para tareas de análisis de datos y almacenamiento de información tabular.
Curso de Programación en Python
Módulo 1: Introducción a Python
- Introducción a Python
- Configuración del Entorno de Desarrollo
- Sintaxis de Python y Tipos de Datos Básicos
- Variables y Constantes
- Entrada y Salida Básica
Módulo 2: Estructuras de Control
- Sentencias Condicionales
- Bucles: for y while
- Herramientas de Control de Flujo
- Comprensiones de Listas
Módulo 3: Funciones y Módulos
- Definición de Funciones
- Argumentos de Función
- Funciones Lambda
- Módulos y Paquetes
- Visión General de la Biblioteca Estándar
Módulo 4: Estructuras de Datos
Módulo 5: Programación Orientada a Objetos
Módulo 6: Manejo de Archivos
- Lectura y Escritura de Archivos
- Trabajo con Archivos CSV
- Manejo de Datos JSON
- Operaciones de Archivos y Directorios
Módulo 7: Manejo de Errores y Excepciones
- Introducción a las Excepciones
- Manejo de Excepciones
- Lanzamiento de Excepciones
- Excepciones Personalizadas
Módulo 8: Temas Avanzados
- Decoradores
- Generadores
- Administradores de Contexto
- Concurrencia: Hilos y Procesos
- Asyncio para Programación Asíncrona
Módulo 9: Pruebas y Depuración
- Introducción a las Pruebas
- Pruebas Unitarias con unittest
- Desarrollo Guiado por Pruebas
- Técnicas de Depuración
- Uso de pdb para Depuración
Módulo 10: Desarrollo Web con Python
- Introducción al Desarrollo Web
- Fundamentos del Framework Flask
- Construcción de APIs REST con Flask
- Introducción a Django
- Construcción de Aplicaciones Web con Django
Módulo 11: Ciencia de Datos con Python
- Introducción a la Ciencia de Datos
- NumPy para Computación Numérica
- Pandas para Manipulación de Datos
- Matplotlib para Visualización de Datos
- Introducción al Aprendizaje Automático con scikit-learn