Extraer todos los microdatos de la ENOE con Python

Tutorial para extraer los microdatos de la ENOE usando Python.

Las piezas del rompecabezas representan una base de datos de la ENOE cada una
Photo by Hans-Peter Gauster / Unsplash

Para un proyecto que estoy trabajando se me ocurrió que necesitaría extraer todas las bases de datos de la ENOE. No quería pasarme una hora descargando bases de datos, por lo que me dediqué dos horas a hacer un script en python que las acomoda por mi.

Usaremos urllib.request para usar métodos de request que nos permita extraer los datos desde la página de INEGI y las cargue directamente en nuestro disco duro. Los enlaces en INEGI son muy consistentes, por lo que podremos crear una url base que cambiará con la base y el año, siempre y cuando no cambien las url en INEGI.

Primero cargamos los módulos que necesitaremos para hacer esta carga.

import pandas as pd
from urllib.request import urlopen
from zipfile import ZipFile
from io import BytesIO

Ahora haremos un ciclo for que pasará por los años que nos interesan y nos ayudarán a extraer las bases de datos. La ENOE sufrió cambios antes y después de la pandemia. Lo que verás como cambio es que ENOE N es la encuesta post pandemia. Este código importa los datos a partir del tercer trimestre de 2022. Recordemos que el primer trimestre aún fue con la versión anterior de la ENOE y el segundo se tomó la encuesta de manera telefónica (ETOE).

¡Genial! Te has registrado exitosamente.

¡Bienvenido de vuelta! Has iniciado sesión correctamente.

Te has suscrito correctamente a Escribe tu primer paper de Economía usando Inteligencia Artificial.

¡Éxito! Revisa tu correo electrónico para obtener el enlace mágico para iniciar sesión.

¡Éxito! Se ha actualizado la información de facturación.

No se actualizó tu información de facturación.