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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0da52c63cad4002ff8f76f7757f4c7ea8be32b333585a209142148cf67f67e0b
|
|
| MD5 |
2cd3a3e38878998b7abefcc252403185
|
|
| BLAKE2b-256 |
b7785c1d9ea7f3433c327e16c3e9274ca625a509eca6f3579a13337b0e39376c
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
27ded9444e1eb34c5edf292ed2e92201f8e0c07cbf0d34f1e0320bcd286b7342
|
|
| MD5 |
a8c47935d766e23d74c8e7e0d707412b
|
|
| BLAKE2b-256 |
8467ced9a64c88982fb404a48a23a616390d91b8c284a60845a169b641ee1f76
|