Rinomina colonneCiao a tutti,
Nel mio codice, apro un file csv e rinomino la colonna in "Colonna 1".Nella tabella dei dati, viene rinominato, ma quando cerco in tutte le diverse colonne, non riesce a trovare "Colonna 1". Riconosce il suo nome originale solo quando viene aperto.Sto cercando valori con in una tabella di dati e ho bisogno di sapere in quale colonna si trova (che funziona se imposto i su 2).So che l'impostazione di i su 2 funzionerebbe per questa applicazione, ma in generale penso che sarebbe utile sapere perché sta accadendo.
colFunction = Function({search_string},
found =0;
i=1;
Show(search_string);
Show(nCols);
While (found == 0,
match_rows = dt << get rows where(as column(dt, nCols)==search_string);
if(nrows(match_rows) > 0, found = 1, i++);
if(i==nCols, found =1, );
);
col = Num(i);
);
file = Pick File();
dt = Open (file);
for(i=1, i<=ncols(dt), i++,
column(dt,i) << data type(Character);
column(dt,i) << set modeling type(continuous);
);
nCols = dt << Get Column Names ("Character");
col = Column (1);
col << set name("Column 1");
irglCol = colFunction("Irgl");
Re: Rinominare le colonneassolutamente fantastico..funziona come un fascino.
molte grazie.
Re: Rinominare le colonne@txnelson ti ha mostrato la soluzione di scripting, ma anche questa è abbastanza facile da gestire in modo interattivo.
È possibile copiare i nomi delle colonne dall'elenco sul lato sinistro della tabella dati e quindi incollarli in una colonna di una nuova tabella dati. Ora hai accesso a tutte le funzionalità dell'editor di formule per manipolarle.
Quindi copiali dalla nuova colonna e incollali nuovamente nella tabella originale.
Ecco un piccolo video che mostra la tecnica.
Re: Rinominare le colonneEcco un semplice script che farà ciò di cui hai bisogno
Names Default To Here( 1 );
dt = Current Data Table();
ColList = dt << get column names( string );
For( i = 1, i <= N Items( ColList ), i++,
If( Substr( ColList[i], 1, 1 ) == "0",
Column( dt, i ) << set name( Substr( ColList[i], 2 ) )
)
);
Re: Rinominare le colonneCiao a tutti,
Ho un problema simile, ma non esattamente lo stesso: ho una tabella JMP con centinaia di colonne e la maggior parte di quei nomi di colonna inizia con il numero 0, il che rende difficile andare/cercare una colonna specifica. c'è un modo per rimuovere il numero 0 all'inizio di ogni colonna tramite uno script JMP.
Se fosse una o due colonne, avrei potuto farlo manualmente ma queste sono in 100... so come cambiare il nome di una colonna alla volta, ma in questo caso penso di aver bisogno di usare in qualche modo un ciclo o qualcosa del genere ...
per favore fatemi sapere se ci sono alcuni modi in cui questo può essere raggiunto.
apprezzare tutto l'aiuto.
Grazie.
Re: Rinominare le colonneget column names ottiene solo l'elenco dei nomi delle colonne
get column references ottiene i nomi come stringhe
quindi forse anche un paio di altre idee.
aprire(); //non devi scegliere il file, apre automaticamente la finestra di dialogo del file immagine
Ottieni l'elenco delle colonne, trova la posizione del modello e quindi modifica il nome della colonna utilizzando la posizione nel riferimento
list=dt<< get column reference(); //gets strings not a list of columns
position=contains(list, column("Carline")); //finds the position of something in a list
column(position)<<SETNAME></SETNAME>
o immagino che potresti diventare davvero pazzo e sostituire nell'elenco e rinominare tutte le colonne con l'elenco
newlist=substitute(list, string, "Column 1");
dt<<SET column="" names=""></SET>