Python · Sección 8

Archivos, excepciones y datos externos

Lectura y escritura segura de texto, CSV y JSON; rutas portables, context managers, validación y manejo específico de excepciones.

3
lecciones
3
ejercicios resueltos
CONTENIDO ORIGINAL

Avanza en orden. Cada lección está redactada para Palta es Cool, utiliza ejemplos propios y termina con una actividad cuya respuesta puedes desplegar.

ANTES DE EMPEZAR

Ubícate antes de avanzar

01 / PUNTO DE PARTIDA

Conviene haber comprendido Módulos, paquetes y entornos virtuales.

02 / META OBSERVABLE

Al terminar deberías poder relacionar Archivos y rutas con CSV y JSON y resolver un caso nuevo.

03 / TIEMPO SUGERIDO

Reserva entre 35 y 55 minutos para lectura, ejemplos, tres comprobaciones y cierre.

04 / PREPARA EL LABORATORIO

Instala Python 3 y utiliza IDLE o un editor como VS Code. Desde NumPy y Pandas trabaja dentro de un entorno virtual.

Abrir la guía de herramientas →
Diagnóstico rápido: ¿cómo se relacionan Archivos y rutas y CSV y JSON?

No necesitas acertar todavía. Escribe una hipótesis de dos líneas y compárala con tu respuesta al finalizar; si puedes corregirla y justificar el cambio, hubo aprendizaje.

Ruta guiada · 3 lecciones

Aprende el tema paso a paso

Trabajarás con datos persistentes sin depender de rutas frágiles y manejarás fallos esperables sin ocultar errores de programación.

Al terminar podrás
  • with cierra archivos incluso cuando ocurre un error
  • CSV representa tablas; JSON representa estructuras anidadas
  • Las excepciones se capturan donde puede tomarse una decisión útil
01
Leer y escribir

with cierra archivos incluso cuando ocurre un error

open crea un objeto de archivo. El context manager with administra su cierre. pathlib representa rutas de forma portable. Es importante declarar codificación y decidir si se reemplaza, agrega o solo lee.

01

"r" lee, "w" reemplaza y "a" agrega.

02

encoding="utf-8" hace explícita la codificación.

03

Path combina carpetas sin escribir separadores manuales.

Comprueba lo aprendido · 01

¿Qué riesgo tiene abrir con modo "w" un archivo existente?

Mostrar respuesta

Su contenido se reemplaza. Debes usarlo solo cuando esa sea la intención y, si los datos importan, aplicar una estrategia de copia o escritura atómica.

02
Usar formatos

CSV representa tablas; JSON representa estructuras anidadas

Los módulos csv y json evitan separar o construir texto a mano. CSV necesita conocer delimitador, encabezados y codificación. JSON conserva listas, objetos, números, textos, booleanos y null, pero no cualquier objeto Python sin conversión.

01

DictReader usa el encabezado como nombres de campos.

02

json.load lee desde archivo; json.loads desde una cadena.

03

Valida columnas y tipos después de importar.

Comprueba lo aprendido · 02

¿Por qué monto necesita conversión aunque en el CSV se vea como número?

Mostrar respuesta

CSV es texto delimitado. DictReader entrega cadenas; el programa debe convertir y validar según el significado esperado.

03
Manejar fallos

Las excepciones se capturan donde puede tomarse una decisión útil

try ejecuta una operación que puede fallar; except trata excepciones específicas; else continúa si no hubo error; finally reserva limpieza que debe ocurrir siempre. Capturar Exception sin actuar puede ocultar defectos.

01

ValueError indica una conversión o valor inválido.

02

FileNotFoundError distingue un archivo ausente.

03

Un mensaje informa qué ocurrió y qué puede corregirse.

Comprueba lo aprendido · 03

¿Por qué no conviene envolver todo el programa en except Exception: pass?

Mostrar respuesta

Porque silencia tanto fallos esperados como errores de programación, deja estados inciertos y elimina la evidencia necesaria para corregir la causa.

Resumen de la sección

Tu recorrido en tres ideas

  1. with cierra archivos incluso cuando ocurre un error
  2. CSV representa tablas; JSON representa estructuras anidadas
  3. Las excepciones se capturan donde puede tomarse una decisión útil
CIERRE DE LA SECCIÓN

Comprueba que puedes usarlo

Antes de continuar, revisa estos tropiezos frecuentes y resuelve un caso sin copiar los ejemplos.

ERROR 01

Capturar cualquier error con except y continuar como si el resultado fuera confiable.

ERROR 02

Sobrescribir el archivo original o depender de una ruta que solo existe en un equipo.

DESAFÍO INTEGRADOR

Ahora hazlo sin guía

Importa un CSV, informa filas inválidas y crea una salida limpia sin modificar el archivo de origen.

Mostrar pauta de corrección
Una respuesta sólida:
  • Usa rutas y context manager de forma segura.
  • Captura excepciones específicas y conserva el motivo del rechazo.
  • Comprueba conteos de entrada, salida y errores antes de guardar.