Carpetas y descargas#
Dónde quedan los datos#
Cada encuesta tiene su carpeta raíz, con esta estructura:
<raíz GEIH>/datos_csv/<año>/<mes>/*.csv serie principal
<raíz empalme>/datos_csv/<año>/<mes>/*.csv serie de empalme
<raíz EAM>/datos/<año>/*.csv|*.txt
Las carpetas de los meses conservan el nombre que trae el ZIP del DANE (Enero 2024, ENE_2021…);
dane-data reconoce el mes en el nombre y busca los archivos también en subcarpetas.
Elegir las carpetas#
Por defecto todo queda en ~/dane_data_datos/. Para usar otras carpetas (por ejemplo, en un disco externo):
import dane_data as dd
dd.set_paths(geih="D:/datos/GEIH", geih_empalme="D:/datos/GEIH_empalme", eam="D:/datos/EAM", save=True)
Con save=True quedan guardadas en ~/.config/dane_data/config.json para las próximas sesiones, para la
línea de comandos y para la aplicación; sin él, valen solo para la sesión actual. Lo mismo se hace desde la
terminal con dane-data config --geih RUTA --empalme RUTA --eam RUTA o desde la página de inicio de la
aplicación.
Cada carpeta se resuelve en este orden:
dd.set_paths()en la sesión actual.Las variables de entorno
DANE_DATA_GEIH,DANE_DATA_GEIH_EMPALMEyDANE_DATA_EAM.El archivo
~/.config/dane_data/config.json.~/dane_data_datos/geih,~/dane_data_datos/geih/empalmey~/dane_data_datos/eam.
dd.show_paths() muestra las carpetas que se están usando, y dd.get_path() una sola.
Todas las funciones que leen o descargan aceptan además root= para usar otra carpeta en una sola llamada.
Descargar#
dd.geih.download([2024, 2025]) # serie principal
dd.geih.download(2016, empalme=True) # serie de empalme
dd.geih.download(2025, limit_files=1) # solo enero, para probar
dd.eam.download(range(2014, 2025)) # EAM
dd.eam.download() # toda la EAM, 1992–2024
dd.geih.download() y dd.eam.download() buscan los archivos en el catálogo del ANDA de cada año, bajan
los ZIP y extraen los módulos. Las descargas son incrementales:
Al terminar un mes se escribe un marcador (
.dane_data_ok) que registra qué módulos se extrajeron. Una descarga posterior salta los meses que ya tienen esos módulos.Si se interrumpe (se cierra la ventana, se cae la conexión), basta con volver a correrla: sigue donde iba.
Para bajar solo algunos módulos,
modules=["caracteristicas", "ocupados"]; los nombres están endd.geih.DEFAULT_MODULES.
Las dos funciones aceptan progress= (una función que recibe el avance) y should_stop= (una función
que, si devuelve True, detiene la descarga con dd.DownloadCancelled). La aplicación los usa para la
barra de progreso y el botón de cancelar.
Archivos dañados del ANDA#
Algunos CSV que publica el ANDA no se pueden usar:
Año |
Problema del CSV |
Qué baja |
|---|---|---|
2008 y 2011 |
El factor de expansión perdió el punto decimal ( |
La versión TXT del mismo catálogo |
Septiembre de 2021 |
Separado por espacios, que también aparecen dentro del texto |
La versión Stata del mismo catálogo |
Si los datos se descargaron con una versión anterior a la 0.2.0, esos meses quedan con el CSV dañado:
dane-data los detecta, los omite con un aviso y pide volver a descargar esos años. Los detalles están en
Diferencias con la documentación del DANE.
Qué hay descargado#
>>> av = dd.geih.available()
>>> av.groupby("anio")["completo"].sum().tail(3)
anio
2024 12
2025 12
2026 8
Name: completo, dtype: int64
dd.geih.available() trae una fila por mes con los módulos que encontró, si está completo y qué le falta.
Desde la terminal, dane-data estado muestra lo mismo resumido por año. Para la EAM,
dd.eam.available().
Espacio en disco#
Tamaño aproximado |
|
|---|---|
Un año de la GEIH extraído |
500 MB, más los ZIP si se conservan ( |
Toda la serie principal 2007–2026 |
11 GB extraída |
Toda la EAM 1992–2024 |
330 MB |
Caché de |
700 MB en |
La caché se puede borrar cuando se quiera con dd.geih.clear_cache(); se vuelve a crear al leer los datos.