Comment placer les valeurs de liste dans la colonneSuite à quelques manipulations j'ai une liste de taille et de nombre de lignes dans mon tableau.
Je souhaite créer une nouvelle colonne et placer ces valeurs dans cette colonne.
La référence JSL indique que cela devrait fonctionner :
dt = New Table( "My Data");
dt << New Column( "Last Name", Character, Values( {"Smith", "Jones",
"Anderson"} ) );
La liste que je souhaite mettre dans cette colonne est en fait une liste de listes. Si je fais Eval(names), j'obtiens quelque chose comme {{"John"}, {"Jim" },{"Jane"}}
Comment en faire une liste unidimensionnelle à mettre dans la colonne ?
Merci!
Re : Comment placer les valeurs de la liste dans la colonneJim,
Cela ne prendrait-il pas simplement les éléments de la première liste (qui sont déjà des listes) dans une nouvelle liste (également sous la forme de listes à un seul élément) ?
Quoi qu'il en soit, je n'ai pas trouvé de moyen de le combattre alors que la liste était déjà formée, mais je l'ai fait comme ceci :
Dans la boucle qui construit ma liste de listes, j'ai quelque chose comme ceci :
for(t=1, t<=NItems(....)....
......
names[t] = someFunctionThatSpitsSingleNameLists[i][j];
);
Je fais ça:
names[t] = Item(2,Char(someFunctionThatSpitsSingleNameLists[rowTool][rowcurrentReplacementDate]), "\!"");
Il évalue simplement ces listes de noms uniques comme "{"Jim"}", puis ne prend que Jim - et le place dans la liste de noms[t].
Re : Comment placer les valeurs de la liste dans la colonneSuite à @txnelson post... J'ai en fait créé une petite fonction pour ce faire, car je me suis retrouvé plusieurs fois dans la même position. Cela "aplatira" la liste des listes de 2 niveaux de profondeur par exemple.
Flatten2DList = Function( {list_arg},
{DefaultLocal},
NewList = {};
For( i = 1, i <= N Items( list_arg), i++,
For( j = 1, j <= N Items( list_arg[i] ), j++,
Insert Into( NewList, list_arg[i][j] );
);
);
NewList;
)Re : Comment placer les valeurs de la liste dans la colonneVotre code fonctionne, mais le problème est que la liste "Origlist" est une liste de listes, pas seulement une liste unique, ce qui correspond à la manière dont vous définissez la liste dans votre script.Le problème est donc de savoir comment insérer la liste des listes dans la table de données.
Re : Comment placer les valeurs de la liste dans la colonnemépris
Re : Comment placer les valeurs de la liste dans la colonneCela devrait le faire :
Names Default To Here( 1 );
origlist = {{"John"}, {"Jim"}, {"Jane"}};
newlist = {};
For( i = 1, i <= N Items( origlist ), i++,
Insert Into( newlist, origlist[i] )
);
dt = New Table( "My Data" );
dt << New Column( "Last Name", Character, Values( newlist ) );