/covid_19_data_analysis

Project SS2 2023

Primary LanguagePython

Análisis y Carga de Datos sobre COVID-19 en Guatemala

Tecnologías Utilizadas

  • Python: Lenguaje de programación principal.
  • Pandas: Biblioteca para manipulación y análisis de datos.
  • NumPy: Biblioteca para operaciones numéricas en Python.
  • Requests: Biblioteca para realizar solicitudes HTTP.
  • MariaDB: Sistema de gestión de bases de datos utilizado.
  • JSON: Formato de archivo para almacenar configuraciones.
  • io.StringIO: Para la lectura de datos CSV desde una cadena.

Archivo de Configuración

Atributos del Archivo JSON:

El archivo config.json contiene los siguientes atributos:

  • local_csv_name: Nombre del archivo CSV local que contiene datos sobre municipios.

  • url_global_csv: URL que apunta al archivo CSV global que contiene datos sobre la COVID-19 a nivel mundial.

  • filter_year: Año utilizado como filtro para seleccionar datos relevantes en el análisis.

  • batch_size: Tamaño del lote utilizado para la inserción eficiente de datos en la base de datos.

  • db_user: Usuario de la base de datos MariaDB.

  • db_password: Contraseña del usuario de la base de datos.

  • db_host: Dirección del host de la base de datos.

  • db_port: Puerto de conexión a la base de datos.

  • db_name: Nombre de la base de datos utilizada para almacenar los datos procesados.

Descripción del Proceso ETL

El script realiza la carga, limpieza, transformación y almacenamiento de datos relacionados con la COVID-19 en Guatemala. A continuación, se detallan las principales secciones del código:

1. Cargar Configuración

  • Se lee el archivo de configuración config.json que contiene detalles como nombres de archivos, URLs, año de filtro y configuración de la base de datos.

2. Cargar Dataframes

  • Se cargan dos DataFrames de pandas: uno desde un archivo CSV local (local_df) y otro desde una URL que apunta a un archivo CSV global (global_df).

3. Limpieza y Transformación de CSV Global

  • Corrección de nombres de columnas.
  • Filtrado para datos específicos de Guatemala.
  • Eliminación de columnas innecesarias.
  • Validación y conversión de tipos de datos.
  • Filtrado por año.
  • Eliminación de duplicados.
  • Ordenamiento por fecha.
  • Manejo de datos faltantes y estandarización de campos.

4. Limpieza y Transformación de CSV Local

  • Validación de tipos de datos.
  • Eliminación de duplicados.
  • Filtrado por año.
  • Eliminación de registros con muertes negativas.

5. Obtener Departamentos y Municipios

  • Extracción de DataFrames con información única sobre departamentos y municipios.

6. Unir Dataframes

  • Creación de DataFrames adicionales filtrando por código de departamento.
  • Unión con global_df y generación de columnas adicionales.

7. Inserción en Base de Datos

  • Inserción eficiente por lotes en tablas de la base de datos utilizando mariadb.

8. Reporte de Resultados

  • Impresión de información sobre la carga, incluyendo el número de bloques insertados y fallidos.

Este script automatiza el proceso de preparación de datos para análisis posterior sobre la evolución de la COVID-19 en Guatemala, facilitando la carga y transformación de datos desde fuentes locales y globales en un entorno de base de datos relacional.