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.1.tar.gz (9.5 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.1-py3-none-any.whl (13.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pytabify-1.0.1.tar.gz
  • Upload date:
  • Size: 9.5 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.1.tar.gz
Algorithm Hash digest
SHA256 5161546bbc90017db22c8295abc982d7dee0215d19d7c8f40bab360aae9db01f
MD5 61a077b74ce811058337125dc9ebe758
BLAKE2b-256 b5b98542b05180699bd5e86fbfb0750e107ccbd93e0899b3a91dd900f3f6ab88

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pytabify-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 13.6 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 52b213efb86126f88d5c8bf0bb08dea08c875790babc79cdec4f6869031ca194
MD5 7a46204f22607acb352b53eb46630cbc
BLAKE2b-256 389eb3dfce48b22a4a6bcdcd9c9d234effe52fa1eb48f28ed725e75e61a3e5c1

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