Modèle de contenu de table

Le modèle de contenu de table fournit un modèle simple permettant d'accéder à des données de ligne ou de colonne simples. Les valeurs d'une colonne particulière doivent avoir le même type de stockage (par exemple, des chaîne ou des entiers).

API

Tableau 1. Méthodes pour le modèle de contenu du tableau
Méthode Types de retour Description
getRowCount() int Renvoie le nombre de lignes de cette table.
getColumnCount() int Renvoie le nombre de colonnes de cette table.
getColumnName(int columnIndex) String Renvoie le nom de la colonne à l'index de colonne spécifié. L'index de colonne démarre à 0.
getStorageType(int columnIndex) StorageType Renvoie le type de stockage de la colonne à l'index spécifié. L'index de colonne démarre à 0.
getValueAt(int rowIndex, int columnIndex) Object Renvoie la valeur figurant à l'index de ligne et de colonne spécifié. Les index des lignes et des colonnes commencent à 0.
reset() void Vide la mémoire interne associée à ce modèle de contenu.

Noeuds et sorties

Ce tableau répertorie les nœuds qui créent des sorties incluant ce type de modèle de contenu.

Tableau 2. Noeuds et sorties
Nom du noeud Nom de sortie ID de conteneur
table table "table"

Exemple de script

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