Modelo de contenido de tabla

El modelo de contenido de tabla proporciona un modelo sencillo para acceder a los datos simples de fila y columna. Los valores en una columna determinada deben tener todos el mismo tipo de almacenamiento (por ejemplo, series o enteros).

API

Tabla 1. API
Resultado devuelto Método Descripción
int getRowCount() Devuelve el número de filas en esta tabla.
int getColumnCount() Devuelve el número de columnas en esta tabla.
Serie de caracteres getColumnName(int columnIndex) Devuelve el nombre de la columna en el índice de columna especificado. El índice de columna comienza en el 0.
StorageType getStorageType(int columnIndex) Devuelve el tipo de almacenamiento de la columna en el índice especificado. El índice de columna comienza en el 0.
Object getValueAt(int rowIndex, int columnIndex) Devuelve el valor en los índices de fila y columna especificados. Los índices de fila y columna comienzan en el 0.
void reset() Desecha cualquier almacenamiento interno asociado con este modelo de contenido.

Nodos y datos de salida

Esta tabla lista los nodos que crean salidas que incluyen este tipo de modelo de contenido.

Tabla 2. Nodos y datos de salida
Nombre de nodo Nombre del resultado ID de contenedor
tabla tabla "tabla"

Script de ejemplo

ruta = modeler.script.stream()
from modeler.api import StorageType

# Establecer el nodo de importación de archivo de variable
varfilenode = stream.createAt("variablefile", "DRUG Data", 96, 96)
varfilenode.setPropertyValue("full_filename", "$CLEO_DEMOS/DRUG1n")

# Crear el nodo Agregar y conectarlo al nodo de archivo de variable
aggregatenode = stream.createAt("aggregate", "Aggregate", 192, 96)
stream.link(varfilenode, aggregatenode)

# Configurar el nodo Agregar
aggregatenode.setPropertyValue("keys", ["Drug"])
aggregatenode.setKeyedPropertyValue("aggregates", "Age", ["Min", "Max"])
aggregatenode.setKeyedPropertyValue("aggregates", "Na", ["Mean", "SDev"])

# Crear el nodo de salida de tabla y conectarlo al nodo Agregar
tablenode = stream.createAt("table", "Table", 288, 96)
stream.link(aggregatenode, tablenode)

# Ejecutar el nodo de tabla y capturar el objeto de salida de resultado de la tabla
results = []
tablenode.run(results)
tableoutput = results[0]

# Acceder al modelo de contenido del resultado de la tabla
tablecontent = tableoutput.getContentModel("table")

# Para cada columna, imprimir el nombre de columna, tipo y la primera fila
# de valores del contenido de la tabla
col = 0
while col < tablecontent.getColumnCount():
     print tablecontent.getColumnName(col), \
     tablecontent.getStorageType(col), \
     tablecontent.getValueAt(0, col)
     col = col + 1
La salida en la pestaña Depuración de scripts tendrá un aspecto similar a este:
Age_Min Integer 15
Age_Max Integer 74
Na_Mean Real 0.730851098901
Na_SDev Real 0.116669731242
Drug String drugY
Record_Count Integer 91