Modello del contenuto della tabella

Il modello di contenuto della tabella fornisce un semplice modello per accedere a semplici dati di riga e colonna. I valori in una determinata colonna devono avere tutti lo stesso tipo di archiviazione (ad esempio stringhe o numeri interi).

Services

Tabella 1. Metodi per il modello di contenuto della tabella
Metodo Tipi di restituzione Descrizione
getRowCount() int Restituisce il numero di righe in questa tabella.
getColumnCount() int Restituisce il numero di colonne in questa tabella.
getColumnName(int columnIndex) String Restituisce il nome della colonna all'indice di colonna specificato. L'indice della colonna parte da 0.
getStorageType(int columnIndex) StorageType Restituisce il tipo di archiviazione della colonna all'indice specificato. L'indice della colonna parte da 0.
getValueAt(int rowIndex, int columnIndex) Object Restituisce il valore all'indice di riga e colonna specificato. Gli indici di riga e colonna iniziano da 0.
reset() void Svuota qualsiasi memoria interna associata a questo modello di contenuto.

Nodi e uscite

Questa tabella elenca i nodi che creano output che includono questo tipo di modello di contenuto.

Tabella 2. Nodi e uscite
Nome nodo Nome output ID container
table table "table"

Script di esempio

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

# Set up the variable file import node
varfilenode = stream.createAt("variablefile", "DRUG Data", 96, 96)
varfilenode.setPropertyValue("full_filename", "$CLEO_DEMOS/DRUG1n")

# Next create the aggregate node and connect it to the variable file node
aggregatenode = stream.createAt("aggregate", "Aggregate", 192, 96)
stream.link(varfilenode, aggregatenode)

# Configure the aggregate node
aggregatenode.setPropertyValue("keys", ["Drug"])
aggregatenode.setKeyedPropertyValue("aggregates", "Age", ["Min", "Max"])
aggregatenode.setKeyedPropertyValue("aggregates", "Na", ["Mean", "SDev"])

# Then create the table output node and connect it to the aggregate node
tablenode = stream.createAt("table", "Table", 288, 96)
stream.link(aggregatenode, tablenode)

# Execute the table node and capture the resulting table output object
results = []
tablenode.run(results)
tableoutput = results[0]

# Access the table output's content model
tablecontent = tableoutput.getContentModel("table")

# For each column, print column name, type and the first row
# of values from the table content
col = 0
while col < tablecontent.getColumnCount():
     print tablecontent.getColumnName(col), \
     tablecontent.getStorageType(col), \
     tablecontent.getValueAt(0, col)
     col = col + 1