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.11.tar.gz (25.6 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.11-py3-none-any.whl (30.8 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for edabf-0.11.tar.gz
Algorithm Hash digest
SHA256 f06a5ace24473e9accc07991eac635716f43ff44e174301c3f840f6d0e3761a3
MD5 03882eeea7d4c064c2c043a2b5d42fab
BLAKE2b-256 821198496a10182e422b892e43bd4b65071fd45d39ad65ee823959a9b2db96bc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: edabf-0.11-py3-none-any.whl
  • Upload date:
  • Size: 30.8 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.11-py3-none-any.whl
Algorithm Hash digest
SHA256 f5909dd20dec403505d0670106cc060579360e18b1ab8a6526a24677b4919449
MD5 593a6c5f6cfb01bb239558ad73abde37
BLAKE2b-256 3b9664f5795f2df68fc780790c6c7daf4f336f77cc490dbba347808abd566d83

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