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.27.tar.gz (28.8 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.27-py3-none-any.whl (33.8 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for edabf-0.27.tar.gz
Algorithm Hash digest
SHA256 c734d6bac145d0d808d58e928de686a7113502ea53b7b12f5c1028a21f1c3ba4
MD5 cca007fd8c307c40b2271f05a442e8fd
BLAKE2b-256 abee9cf6f9a7ace32ec16cb3856b9ad29ed24acc8a47b74bd080a06e7ca80c1c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: edabf-0.27-py3-none-any.whl
  • Upload date:
  • Size: 33.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.27-py3-none-any.whl
Algorithm Hash digest
SHA256 6d80d76b5c6ad131cc7b66b15c15da55c3643bd736e0714ca067319e6c5a556b
MD5 f3b247f8ab747477e3dc9c2b443356b7
BLAKE2b-256 24e0b0a46d47748b4639b69c313c8e48e9c4cc86e5ceff0bae991d02e61b97f1

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