Skip to main content

A package for EDA on CSV and SQL data.

Project description

EDA BF - Exploratory Data Analysis Package

Este paquete permite realizar un análisis exploratorio de datos (EDA) sobre archivos (CSV, Parquet) y tablas de bases de datos SQL (MySQL, PostgreSQL, SQL Server, Oracle), generando informes en formato Excel para facilitar el análisis de calidad y características de los datos.

Funcionalidades Principales

1. process_single_file

Procesa un archivo individual (CSV o Parquet) y genera un informe EDA en formato Excel.

  • Función: process_single_file(file_path, output=None, limite=None)
  • Parámetros:
    • file_path (str): Ruta del archivo a procesar.
    • output (str): Ruta de salida para el archivo Excel (opcional).
    • limite (int): Límite opcional de filas a leer.
  • Descripción: Lee el archivo especificado, genera un análisis exploratorio de datos y lo guarda en un archivo Excel que contiene métricas y estadísticas de los datos.

2. process_folder

Procesa múltiples archivos en una carpeta (CSV y Parquet) y genera un informe EDA consolidado en un archivo Excel.

  • Función: process_folder(folder_path, output=None, limite=None)
  • Parámetros:
    • folder_path (str): Ruta de la carpeta que contiene los archivos a procesar.
    • output (str): Ruta de salida para el archivo Excel consolidado.
    • limite (int): Límite opcional de filas a leer por archivo.
  • Descripción: Busca archivos CSV y Parquet en la carpeta especificada, procesa cada archivo, y genera un informe combinado en Excel con métricas detalladas de cada archivo.

3. process_single_table

Procesa una única tabla de una base de datos SQL y genera un informe EDA en formato Excel.

  • Función: process_single_table(db_type, server, user, password, database, schema, table_name, path_instaclient=None, output=None)
  • Parámetros:
    • db_type (str): Tipo de base de datos (mysql, postgresql, sqlserver, oracle).
    • server, user, password, database, schema, table_name (str): Información de conexión y tabla a procesar.
    • path_instaclient (str): Ruta opcional del cliente de Oracle, si es necesario.
    • output (str): Ruta de salida para el archivo Excel.
  • Descripción: Se conecta a la base de datos, extrae la tabla especificada y genera un informe detallado en Excel, incluyendo estadísticas y datos de calidad de la tabla.

4. process_dataset

Procesa múltiples tablas de un esquema en una base de datos SQL y genera un informe EDA para cada tabla en un único archivo Excel.

  • Función: process_dataset(db_type, server, user, password, database, schema, path_instaclient=None, output=None, limit_tables=5)
  • Parámetros:
    • db_type (str): Tipo de base de datos (mysql, postgresql, sqlserver, oracle).
    • server, user, password, database, schema (str): Información de conexión a la base de datos.
    • path_instaclient (str): Ruta opcional del cliente de Oracle, si es necesario.
    • output (str): Ruta de salida para el archivo Excel.
    • limit_tables (int): Límite opcional para el número de tablas a procesar.
  • Descripción: Conecta a la base de datos, extrae todas las tablas del esquema especificado, y genera un informe EDA en un solo archivo Excel. Cada tabla se incluye en una hoja diferente, con métricas y análisis de calidad.

5. process_dataframe

Procesa un DataFrame directamente en memoria y genera un informe EDA en formato Excel.

  • Función: process_dataframe(df, output=None, table_name="DataFrame", limite=None)
  • Parámetros:
    • df (DataFrame): El DataFrame que se desea procesar.
    • output (str): Ruta de salida para el archivo Excel.
    • table_name (str): Nombre que se asignará al DataFrame en el informe Excel (por defecto: "DataFrame").
    • limite (int): Límite opcional de filas a procesar.
  • Descripción: Procesa un DataFrame cargado en memoria, generando un informe en Excel con estadísticas descriptivas y métricas clave. Si se especifica un límite, solo se procesan las primeras limite filas.

Ejemplos de Uso

Procesar un Archivo Individual

from edabf import process_single_file
process_single_file("ruta/al/archivo.csv", output="salida", limite=1000)

Procesar una Carpeta de Archivos

from edabf import process_folder
process_folder("ruta/a/carpeta", output="salida_masivo")

Procesar una Tabla de una Base de Datos

from edabf import process_single_table
process_single_table("postgresql", "servidor", "usuario", "contraseña", "base_datos", "esquema", "nombre_tabla", output="salida_table")

Procesar Múltiples Tablas de un Esquema de Base de Datos

from edabf import process_dataset
process_dataset("mysql", "servidor", "usuario", "contraseña", "base_datos", "esquema", output="salida_dataset")

Procesar Múltiples Tablas de un Esquema de Base de Datos

from edabf import process_dataframe
import pandas as pd

# Crear un DataFrame de ejemplo
data = {"Columna1": [1, 2, 3], "Columna2": ["A", "B", "C"]}
df = pd.DataFrame(data)

# Generar el informe EDA
process_dataframe(df, output="reporte_dataframe", table_name="Ejemplo", limite=10)

Licencia

Este proyecto está bajo la licencia MIT.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

edabf-0.29.tar.gz (28.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

edabf-0.29-py3-none-any.whl (33.9 kB view details)

Uploaded Python 3

File details

Details for the file edabf-0.29.tar.gz.

File metadata

  • Download URL: edabf-0.29.tar.gz
  • Upload date:
  • Size: 28.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.13

File hashes

Hashes for edabf-0.29.tar.gz
Algorithm Hash digest
SHA256 393a16c5d627a7c9854d2689fa3945841f0c7a3a3749066de18d3c8312590cde
MD5 efe6b99e610ca7669772e71001f56415
BLAKE2b-256 8de6745c59e644e4f1edcd2068c627980106c8f18a2be3cc39c62ce176eb6da1

See more details on using hashes here.

File details

Details for the file edabf-0.29-py3-none-any.whl.

File metadata

  • Download URL: edabf-0.29-py3-none-any.whl
  • Upload date:
  • Size: 33.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.13

File hashes

Hashes for edabf-0.29-py3-none-any.whl
Algorithm Hash digest
SHA256 865ba930d33ef8fd57c0c790bba66656afe522dfca2133ca2055f9e5fda5950b
MD5 57d5341fc93d11b79f332f4aed74518d
BLAKE2b-256 f8ca630cac04ef7c8dea12138c94b4a3f390295ec0a43ab6230e054337f23b21

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page