Opérateur pour définir tous les noms de colonne à l'aide d'une liste de chaînesSalut. Je recherche une méthode de script pour changer les noms de colonne de ma table en noms que j'ai contenus dans une liste. Je pense à quelque chose comme : dt << Set Column Names(newcolname_lis) ? Cette commande changerait le nom de la ième colonne de la table en ième élément dans newcolname_lis, en commençant à la colonne 1.
La raison de cette demande :
J'ai des tables qui peuvent contenir > 20 000 colonnes. J'ai besoin de changer les noms de colonne pour fusionner avec le reste de mes tables de données. L'utilisation d'une boucle For pour modifier les noms prend plusieurs minutes. Idéalement, cela pourrait être fait en utilisant une commande en quelques secondes.
Ceci fait suite à une question que j'ai posté plus tôt:
https://community.jmp.com/t5/Discussions/Set-column-names-more-efficiently/mp/311439#M56450
Merci.
ScriptRe : Opérateur pour définir tous les noms de colonne à l'aide d'une liste de chaînes - Statut changé en : ArchivéNous archivons cette demande. Si cela est toujours important, veuillez commenter avec des détails supplémentaires et nous rouvrirons. Merci!Re : Opérateur pour définir tous les noms de colonne à l'aide d'une liste de chaînesSalut,
J'ai une fonction capable de renommer une colonne en fonction du modèle de chaîne. Vous pouvez peut-être essayer de l'adapter.
function_RenameCol = Function({ dt, strpattern, strreplace},
lstCol = dt << Get column names( string );
For( icol = 1, icol <= Nitems(lstCol), icol++,
if (Contains( lstCol[icol],strpattern) >= 1,
newname = Munger(lstCol[icol],0,strpattern,strreplace);
Column( dt, icol ) << Set Name( newname );
);
);
);