Come parte dell'esportazione di un database, ottengo un file con alcune intestazioni che posso usare immediatamente (da Experiment ID a DOE_FILE_ID) ma poi ottengo alcune intestazioni 'generiche' da C1 a C255

quello che devo fare è selezionare tutta la prima riga di dati che ha da C1 a C255 come intestazioni e sostituirla con le informazioni della prima riga selezionata
quindi C1 sarebbe cambiato in Sample, C2 sarebbe OLD Sample Identifier ecc. Per ogni tabella che ottengo queste informazioni saranno diverse, quindi non posso usare Trova e sostituisci per farlo. Non posso cambiare il modo in cui questi dati vengono importati usando le preferenze così come provengono da un database.
Molti saluti
David
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Suppongo che avrei dovuto dire che stavo dando per scontato che volevi farne un bottone. script> Pulsante> Ripetizione efficiente.
Un'altra opzione è usare il Addin di utilità di nomi di colonna .
Seleziona le colonne che vuoi spostare e fai clic su sposta in alto.

Migliore,
Stan
Se stai bene facendo in modo interattivo, puoi usare il copia e incolla.
Seleziona le celle nella prima riga che hanno i nomi delle colonne. Quindi seleziona le colonne nel pannello colonne a sinistra e incollale.
Vedere questo post del blog per una spiegazione più completa, con un video.
-Jeff
Per iniziare,
colNames = dt << get column names;For( i = 1, i <= N Items( colNames ), i++, Column( i ) << set name( Column( i )[1] ));// delete the first rowdt << select rows( 1 );dt << delete rows;
Questo caricherà tutti i nomi delle colonne in colNames , scorrere l'elenco e quindi impostare ciascun nome sul suo primo elemento.
Per il tuo caso, vorrei utilizzare un filtro regex per eseguire il loop dei nomi delle colonne, aggiungendo le colonne che iniziano con "^ C \ d" in una lista separata.
badCols = {};For( i = 1, i <= N Items( colNames ), i++, cname = Column( colNames ) << get name; If( !(Is Missing( Regex( cname, "^C\d" ) )), Insert Into( badCols, colNames ) ););Show( badCols );<CODE><SPAN style="font-family: arial, helvetica, sans-serif; font-size: 10pt; line-height: 1.5em;">colNames = dt << get column names;</SPAN>Per rinominare poi quelle colonne specifiche, puoi fare quanto segue:
For( i = 1, i <= N Items( badCols ), i++, cname = Column( badCols ) << get name; Column( cname ) << set name( Column( cname )[1] ););
Sto ancora lavorando alla selezione delle prime celle delle colonne pertinenti e alla cancellazione di quella cella (i nomi delle colonne), e potresti anche voler eliminare l'ultima riga se è vuota, ma questo è un buon punto di partenza. Aggiornerò quando immaginerò l'ultimo pezzo, ma potresti battermi su di esso.
Spero che questo possa essere d'aiuto.