Saltar a contenido

pytabify

Carga datos de prueba desde CSV, JSON y XLSX. Consulta cada celda por atributo o por nombre, actualiza la tabla y guarda el resultado desde Python o Robot Framework.

Instalacion Inicio rapido Referencia

  • Instala y valida

    Entra con pip o poetry y confirma en segundos que la libreria carga bien.

    Ver instalacion

  • Empieza rapido

    Carga un archivo, modifica una celda y exporta el resultado sin navegar por toda la API.

    Ver quickstart

  • Usa ejemplos reales

    La documentacion parte de flujos cubiertos por pruebas: JSON -> CSV, XLSX -> JSON y Robot Framework.

    Ver ejemplos

  • Resuelve errores comunes

    Errores de sheet_name, extensiones no soportadas, rutas invalidas o datos no rectangulares.

    Ir a troubleshooting

Una fila, un valor

table[0].nombre y table[0]["nombre"] devuelven el mismo valor. Si la columna se llama to_dict o contiene espacios, usa corchetes.

Introduccion

pytabify esta orientado a equipos tecnicos que necesitan cargar, validar, mutar y persistir datos tabulares sin construir conversiones manuales para cada formato.

Va dirigido principalmente a:

  • Desarrolladores Python

    Para scripts, fixtures, transformaciones simples y automatizacion de datos tabulares.

  • Equipos de QA

    Para pruebas automatizadas donde los datos viven en archivos o deben moverse entre formatos.

  • Usuarios de Robot Framework

    Para consumir tablas con acceso estable por fila, columna y adaptadores listos para keywords.

Que problema resuelve

Cuando un caso de prueba usa una fila de datos, es útil conservar sus columnas en orden y acceder a ellas sin escribir un parser para cada formato:

  • leer CSV, JSON y XLSX con librerias distintas;
  • normalizar columnas y orden de esquema manualmente;
  • mutar filas sin romper consistencia entre registros;
  • exportar otra vez a un formato distinto;
  • repetir ese trabajo en Python y despues volver a modelarlo para Robot Framework.

pytabify encapsula ese flujo en un contrato tabular unico. La herramienta carga los registros, mantiene un esquema estable, permite enriquecer la tabla sin perder sincronizacion entre filas y la vuelve a persistir en el formato de salida que necesites.

Alcance

Cada columna representa un campo plano. La construcción de objetos de negocio anidados y el registro inmediato de folios generados pertenecen al proyecto que ejecuta las pruebas.

Lo que puedes hacer

Leer, mutar y exportar
from pytabify import DataTableCreator, DataTableSaver

datatable = DataTableCreator.from_file("people.json")
datatable[0]["country"] = "MX"

DataTableSaver.into_csv(datatable, "people.csv")
Crear una tabla y guardar a JSON
*** Settings ***
Library    pytabify.robot.PyTabifyLibrary    WITH NAME    PyTabify

*** Test Cases ***
Guardar tabla enriquecida
    ${records}=    Create List
    ...    ${{ {"name": "Alice", "age": 30} }}
    ...    ${{ {"name": "Bob", "age": 25} }}
    ${table}=    PyTabify.Create Data Table From Records    ${records}
    ${table}=    PyTabify.Set Data Table Value    ${table}    0    country    MX
    PyTabify.Save Data Table To Json    ${table}    people.json

Flujo recomendado

  1. Instala la libreria.
  2. Ejecuta el quickstart completo.
  3. Salta a Python o Robot Framework segun tu caso.
  4. Usa la referencia solo cuando ya sepas el flujo que quieres resolver.

Mapa rapido

  • Instalacion

    Prepara el entorno y valida que la libreria carga.

    Abrir instalacion

  • Inicio rapido

    Sigue un flujo completo con input, ejecucion y output esperado.

    Abrir quickstart

  • Referencia

    Consulta DataTableCreator, DataTableSaver y DataTable sin recorrer toda la guia.

    Abrir referencia

  • Interna

    Revisa arquitectura y extension solo si mantienes la herramienta.

    Abrir arquitectura

Cobertura de formatos

Formato Lectura Escritura Nota practica
CSV Si Si Los valores se leen como texto.
JSON Si Si Conserva bien tipos nativos simples.
XLSX Si Si Requiere sheet_name al leer.

Regla de oro

Si necesitas preservar int, bool y None durante el round-trip, prefiere JSON o XLSX. CSV es el formato mas interoperable, pero no conserva tipos de la misma forma.