Skip to main content

pytabify es una librería de propósito general para la manipulación, transformación y análisis de datos tabulares obtenidos a través de diversos formatos de archivo (CSV, JSON, Excel, etc.). Ofrece una API intuitiva y flexible que permite crear, validar y persistir estructuras de datos (DataTables), facilitando su integración en proyectos de automatización de pruebas, scripts y aplicaciones de análisis de datos.

Project description

📌 pytabify

📊 Tabify your data, Python-style

📊 Tabula tus datos con magia Python

pytabify es una librería de propósito general para la manipulación, transformación y análisis de datos tabulares obtenidos a través de diversos formatos de archivo (CSV, JSON, Excel). Ofrece una API intuitiva y flexible que permite crear, validar y persistir estructuras de datos (DataTables), facilitando su integración en proyectos de automatización de pruebas, scripts y aplicaciones de análisis de datos.


🚀 Características

Soporte para múltiples formatos: Importa datos desde archivos CSV, JSON y Excel.
Estructura tabular flexible: Manipula datos con un enfoque basado en filas y columnas.
Validación de datos integrada: Usa JSON Schema para garantizar la calidad de los datos.
Fácil integración con frameworks de pruebas: Compatible con Robot Framework, unittest, pytest, etc.
Exportación flexible: Guarda los datos en distintos formatos según sea necesario.


📦 Instalación

Usando pip:

pip install pytabify

📖 Uso Básico

📌 Creando un DataTable desde un archivo

from pytabify import DataTableCreator

# Desde CSV
datatable = DataTableCreator.from_file("data.csv")

# Desde JSON
datatable = DataTableCreator.from_file("data.json")

# Desde Excel (requiere indicar la hoja)
datatable = DataTableCreator.from_file("data.xlsx", sheet_name="Hoja1")

📌 Accediendo a los datos

# Obtener una fila específica
row = datatable[0]  
print(row.first_name.value)

# Iterar sobre filas
for row in datatable:
    print(row.to_dict())

# Modificar valores
row.new_field = "Nuevo Valor"
row["edad"] = 25

📌 Guardando datos

from pytabify import DataTableSaver

# Guardar en CSV
DataTableSaver.into_csv(datatable, "output.csv")

# Guardar en JSON
DataTableSaver.into_json(datatable, "output.json")

# Guardar en Excel
DataTableSaver.into_xlsx(datatable, "output.xlsx")

🛠️ Integración con Pruebas Automatizadas

pytabify está diseñado para funcionar en entornos de pruebas automatizadas.
Ejemplo de uso en Robot Framework:

*** Settings ***
Library    pytabify.DataTableCreator     AS    DataTableCreator
Library    pytabify.DataTableSaver       AS    DataTableSaver

*** Test Cases ***
Leer datos desde CSV
    ${datatable}=    DataTableCreator.From File    path=data.csv
    Should Not Be Empty    ${datatable}

Validar un campo específico
    ${row}=    Get From List    ${datatable}    0
    Should Be Equal As Strings    ${row.first_name}    "Alice"

Guardar datos en Excel
    DataTableSaver.Into Xlsx    ${datatable}    path=output.xlsx
    File Should Exist    output.xlsx

🧪 Pruebas

Para ejecutar los tests unitarios:

poetry run pytest -s .\utests\test_pytabify.py

📜 Licencia

Este proyecto está bajo la licencia MIT. Consulta el archivo LICENSE para más detalles.


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

pytabify-1.0.0.tar.gz (8.7 kB view details)

Uploaded Source

Built Distribution

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

pytabify-1.0.0-py3-none-any.whl (12.8 kB view details)

Uploaded Python 3

File details

Details for the file pytabify-1.0.0.tar.gz.

File metadata

  • Download URL: pytabify-1.0.0.tar.gz
  • Upload date:
  • Size: 8.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.0.1 CPython/3.12.8 Windows/10

File hashes

Hashes for pytabify-1.0.0.tar.gz
Algorithm Hash digest
SHA256 0da52c63cad4002ff8f76f7757f4c7ea8be32b333585a209142148cf67f67e0b
MD5 2cd3a3e38878998b7abefcc252403185
BLAKE2b-256 b7785c1d9ea7f3433c327e16c3e9274ca625a509eca6f3579a13337b0e39376c

See more details on using hashes here.

File details

Details for the file pytabify-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: pytabify-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 12.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.0.1 CPython/3.12.8 Windows/10

File hashes

Hashes for pytabify-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 27ded9444e1eb34c5edf292ed2e92201f8e0c07cbf0d34f1e0320bcd286b7342
MD5 a8c47935d766e23d74c8e7e0d707412b
BLAKE2b-256 8467ced9a64c88982fb404a48a23a616390d91b8c284a60845a169b641ee1f76

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