Come annullare l'impilamento di una cella Excel impilata o analizzare testo libero per generare più righeCi imbattiamo tutti in una versione di questo tipo: una tabella Excel formattata per apparire gradevole, senza alcuna attenzione all'analizzabilità.
Nella cella di testo libero, il testo appare così:
m/d: testo [alt+invio]
m/d: testo [alt+invio]
m/d: testo [alt+invio]
m/d: testo [alt+invio]
...
m/d: testo [alt+invio]
Quando i dati vengono esportati in JMP, la cella viene compressa in: m/d: testo m/d: testo m/d: testo ... m/d: testo.
Voglio analizzare quella lunga stringa con n elementi in una riga separata per ogni elemento, non suddividerla in colonne separate. n è variabile. Questo creerebbe una nuova tabella dati che copia le altre colonne e aggiunge l'elemento analizzato. Invece di Text-to-Columns, questo è Text-to-More-Rows.
Fortunatamente #/# viene utilizzato in modo coerente, quindi ho potuto contarli e ripetere il ciclo n volte.
Qualcuno ha mai fatto qualcosa di simile?
Personalizzazione di massaRi: Disimpilamento di una cella Excel impilata o analisi del testo in formato libero per generare più righeFaccio molto questo genere di cose; devi solo scorrere attraverso di esso. Ecco un esempio in cui la colonna 1 ha più valori e la colonna 2 è statica.
dt = New Table( "Test", Add Rows( 3 ), Set Cell Height( 83 ),
New Column( "Column 1", Character, "Nominal",
Set Values(
{"5/3: ABCDE
5/4: DEF
5/5: GHI",
"5/6: xyz
5/7: foo
5/8: bar
5/9: Hello
5/10: World",
"4/16: The
4/17: Entire
4/18: Scheme
4/19: Of
4/20: Things
4/21: Is broken"} ),
Set Display Width( 156 )
),
New Column( "Column 2", Character, "Nominal", Set Values( {"A", "B", "C"} ) )
);
dtnew = new table("Text_to_Rows",
new column("Column 1", Character, "Nominal"),
new column("Column 2", Character, "Nominal"),
);
delim = "
";
m = 0;
for (i = 1, i <= nrows(dt), i++,
c1_words = words(dt:column 1[i], delim);
one_c2 = dt:column 2[i];
for (k = 1, k <= nitems(c1_words), k++,
dtnew << add rows(1);
m++;
dtnew:Column 1[m] = c1_words[k];
dtnew:Column 2[m] = one_c2;
);
);
Ri: Disimpilamento di una cella Excel impilata o analisi del testo in formato libero per generare più righePeter:
Grazie! Questo ha funzionato. Ti devo un drink a tua scelta.
Sto lavorando ai creatori dei dati per inserire i dati in formato piatto ...
Ri: Disimpilamento di una cella Excel impilata o analisi del testo in formato libero per generare più righeAh ah suona bene. Spero di vederti a Discovery 2020.