Herramienta Python para automatizar la generación del fichero XML de la Encuesta de Ocupación Hotelera (EOH) del INE, listo para subir al portal IRIA.
Lee los exports de Opera Cloud PMS y produce el XML validado con la estructura oficial del INE.
- Python 3.8+
matplotlib(opcional, para exportar tablas como PNG)
pip install matplotlibCopia el fichero de ejemplo y rellena los datos de tu establecimiento:
cp config.example.json config.jsonEdita config.json con tu razón social, CIF/NIF, número de registro, dirección, etc.
Coloca en la misma carpeta el PMS (stat_countrybyday_XXXX.XML) y los giratecheck (giratecheck_01.XML…) y ejecuta:
python ine_eoh.pyEl script detecta los ficheros automáticamente, calcula mes/año del PMS y genera el XML.
python ine_eoh.py generar-xml \
--pms stat_countrybyday_XXXX.XML \
--giratecheck giratecheck_01.XML giratecheck_02.XML ... \
--mes 02 --anyo 2026 --dias-abierto 28 \
--ccaa-auto \
--output INE_EOH_FEB2026.xmlpython ine_eoh.py generar-ccaa \
--pms stat_countrybyday_XXXX.XML \
--output ccaa_FEB2026.json| Fichero | Descripción |
|---|---|
stat_countrybyday_XXXX.XML |
Informe de viajeros por país y día (APR/PRS) |
giratecheck_NN.XML |
In-house por día — habitaciones, segmentos y tarifas |
Los giratecheck deben nombrarse con índice numérico (giratecheck_01.XML, giratecheck_02.XML…) para que el script los asigne en orden cronológico.
- XML listo para IRIA con estructura
<ENCUESTA>validada - Tablas de resumen en consola (viajeros por país/CCAA, habitaciones, ADR/RevPAR)
- PNG de las tablas exportados automáticamente (requiere matplotlib)
El campo
PERSONAL_OCUPADOse deja a cero: complétalo manualmente en la pantalla de IRIA.
Puedes usar Google Colab:
- Ve a colab.research.google.com
- Sube este script y tus XMLs
- Ejecuta:
!python ine_eoh.py - Descarga el XML generado
.
├── ine_eoh.py # Script principal
├── config.example.json # Plantilla de configuración del establecimiento
├── config.json # Tu configuración real (en .gitignore, no subir)
└── README.md