Saltar a contenido

DataTable

DataTable es el contrato tabular en memoria. Mantiene un esquema canonico estable y filas sincronizadas con ese esquema.

Lectura

Obtener una fila
row = datatable[0]
print(row.to_dict())
Leer un campo
print(datatable[0].name.value)
Leer un campo por columna
print(datatable[0]["age"].value)

Escritura

Mutar una celda sin duplicar columnas
datatable[0]["age"] = 31
Expandir el esquema
datatable[0]["country"] = "MX"
Efecto en toda la tabla
print(datatable[0].country.value)  # MX
print(datatable[1].country.value)  # None

Operaciones utiles

Operacion Resultado
len(datatable) total de filas
datatable.row(index) fila por indice
datatable.column_names tupla con nombres de columna
datatable.headers() headers con nombre e indice
datatable.to_dict() lista serializable de registros

Ejemplos reales de uso

Ver schema actual
print(datatable.column_names)
print([header.name for header in datatable.headers()])
Agregar una columna y exportar a dict
datatable[0]["country"] = "MX"
print(datatable.to_dict())

Schema-first

El esquema no depende de la fila que leas despues. Queda definido por la validacion inicial y por las expansiones controladas que hagas sobre la tabla.

Lo que no debes asumir
  • No asumas que leer desde CSV preserva tipos nativos.
  • No asumas que una columna ausente en una fila puede omitirse sin afectar el contrato.
  • No asumas que una columna inexistente devolvera None; en lectura directa puede lanzar KeyError o AttributeError.

Buenas practicas de uso

  • Lee columnas existentes por atributo o llave segun el caso, pero no mezcles supuestos sobre columnas faltantes.
  • Cuando necesites una salida serializable, usa to_dict() en lugar de reconstruir registros manualmente.
  • Agrega columnas nuevas sobre la tabla ya creada para que el schema se propague correctamente.

Crear tablas Guardar tablas