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.28.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.28-py3-none-any.whl (33.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: edabf-0.28.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.28.tar.gz
Algorithm Hash digest
SHA256 df4b591f6884a26338b349816835f6fe2d72b10bc39d74bc173a991f41f37bbf
MD5 c49e6e9be15ed1b6af0b1212a7c31f03
BLAKE2b-256 292e244eaa55f33b41ee034e5f71107892d6f5cbf1a746188fb08ed553f7b995

See more details on using hashes here.

File details

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

File metadata

  • Download URL: edabf-0.28-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.28-py3-none-any.whl
Algorithm Hash digest
SHA256 40b659529face11acb83bac2983c2b406c219ffa03a7872253e26639dc145f68
MD5 b3cbd91ce79c52b239e4091eb9b76034
BLAKE2b-256 d5e8a7ebb6a55655373d1d18065328264d4d12e5373daa7eb6eb0504e2473bdd

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