Conviene haber comprendido Módulos, paquetes y entornos virtuales.
Avanza en orden. Cada lección está redactada para Palta es Cool, utiliza ejemplos propios y termina con una actividad cuya respuesta puedes desplegar.
Ubícate antes de avanzar
Al terminar deberías poder relacionar Archivos y rutas con CSV y JSON y resolver un caso nuevo.
Reserva entre 35 y 55 minutos para lectura, ejemplos, tres comprobaciones y cierre.
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.
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.
- 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
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.
"r" lee, "w" reemplaza y "a" agrega.
encoding="utf-8" hace explícita la codificación.
Path combina carpetas sin escribir separadores manuales.
¿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.
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.
DictReader usa el encabezado como nombres de campos.
json.load lee desde archivo; json.loads desde una cadena.
Valida columnas y tipos después de importar.
¿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.
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.
ValueError indica una conversión o valor inválido.
FileNotFoundError distingue un archivo ausente.
Un mensaje informa qué ocurrió y qué puede corregirse.
¿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.
Tu recorrido en tres ideas
- 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
Comprueba que puedes usarlo
Antes de continuar, revisa estos tropiezos frecuentes y resuelve un caso sin copiar los ejemplos.
Capturar cualquier error con except y continuar como si el resultado fuera confiable.
Sobrescribir el archivo original o depender de una ruta que solo existe en un equipo.
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 +
- 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.
