📊 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.
✅ 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.
pip install pytabifyfrom 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")# 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"] = 25from 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")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.xlsxPara ejecutar los tests unitarios:
poetry run pytest -s .\utests\test_pytabify.pyEste proyecto está bajo la licencia MIT. Consulta el archivo LICENSE para más detalles.