Come generare una media di riepilogo di più file CSV?Ho più file csv nel formato allegato in una cartella particolare, come faccio a generare un nuovo file che contiene il riepilogo della media di tutte le colonne A, B, C, D di ogni file csv nel formato seguente:
| nome del file | UN | B | C | D |
| | avg_colA_file1 | avg_colB_file1 | avg_colC_file1 | avg_colC_file1 |
| | avg_colA_file2 | avg_colB_file2 | avg_colC_file2 | avg_colC_file2 |
| | | | | |
So di generare la media di ogni file CSV utilizzando il riepilogo della tabella, ma come possiamo fare lo stesso per più file CSV utilizzando un singolo script?
AnalyticsTabella datiDOEScriptingRi: Come generare una media di riepilogo di più file CSV?Usa "Importazione di più file ()".
La documentazione è fornita nella Guida allo scripting, disponibile nella Libreria della documentazione di JMP nel menu a discesa Guida.
Ri: Come generare una media di riepilogo di più file CSV?Grazie, ma questo importerà solo più file in una singola tabella di dati. Volevo sapere come posso calcolare la media di tutte le colonne in ogni file utilizzando un singolo scriptRi: Come generare una media di riepilogo di più file CSV?L'importazione di più file ha la capacità di aggiungere una nuova colonna che contiene il nome del file da cui provengono i dati (Aggiungi colonna nome file). Ciò significa che puoi facilmente aggiungere una clausola By () al tuo riepilogo, che fornirà medie separate per ogni file importato.
Ri: Come generare una media di riepilogo di più file CSV?Hai provato se la funzione Tabelle -> Riepilogo sta facendo il lavoro che desideri?


Ri: Come generare una media di riepilogo di più file CSV?Sto provando lo script seguente ma non funziona, potresti per favore avvisarmi qual è il problema qui?
dt = Importazione di più file (
<< Imposta cartella (
"C: \ Users \ my_files \"
),
<< Imposta filtro nome ("*. *;"),
<< Imposta abilitazione nome (0),
<< Imposta filtro dimensioni ({37111019, 38896395}),
<< Imposta formato abilitato (0),
<< Imposta filtro data ({3689368844.046, 3689369157.819}),
<< Imposta data abilita (0),
<< Imposta colonna Aggiungi nome file (1),
<< Imposta colonna Aggiungi dimensione file (0),
<< Imposta colonna data file aggiunta (0),
<< Imposta modalità di importazione ("CSVData"),
<< Imposta set di caratteri ("Migliore ipotesi"),
<< Imposta modalità stack ("Stack simile"),
<< Imposta CSV ha intestazioni (1),
<< Imposta CSV Consenti numerico (1),
<< Imposta prima riga di intestazione CSV (1),
<< Imposta il numero CSV di righe di intestazione (1),
<< Imposta prima riga dati CSV (2),
<< Imposta CSV EOF Comma (1),
<< Imposta la scheda CSV EOF (0),
<< Imposta spazio CSV EOF (0),
<< Imposta spazi CSV EOF (0),
<< Imposta CSV EOF Altro (""),
<< Imposta CSV EOL CRLF (1),
<< Imposta CSV EOL CR (1),
<< Imposta CSV EOL LF (1),
<< Imposta CSV EOL Punto e virgola (0),
<< Imposta CSV EOL Altro (""),
<< Imposta citazione CSV ("\!" "),
<< Imposta CSV Escape ("")
) << Importa dati;
dt << Ottieni righe dove (: A <= 20);
dt << elimina righe (sel);
dt <<
Sommario(
Gruppo (: Nome file),
Media (: A),
Freq ("Nessuno"),
Peso ("Nessuno")
)
Ri: Come generare una media di riepilogo di più file CSV?MFI sempre restituisce un elenco di tabelle di dati (non una tabella, ma un {elenco} contenente una o più tabelle). Avremmo bisogno di vedere alcuni messaggi dal registro per dare una risposta migliore - non sono sicuro della sintassi di eliminazione delle righe - ma uno di questi:
for(i=1,i<=nitems(dt),i+=1,
dtx = dt[i];
dtx << Get Rows Where ( dtx:A <= 20);
dtx << delete rows(sel);
dtx<<
Summary(
Group( dtx:File Name ),
Mean( dtx:A ),
Freq( "None" ),
Weight( "None" )
)
)
o se sai che ce n'è solo uno
dtx = dt[1];
dtx << Get Rows Where ( dtx:A <= 20);
dtx << delete rows(sel);
dtx<<
Summary(
Group( dtx:File Name ),
Mean( dtx:A ),
Freq( "None" ),
Weight( "None" )
)
utilizzando dtx per essere la tabella corrente dall'elenco in dt.
Ri: Come generare una media di riepilogo di più file CSV?@Craige_Hales ha la risposta corretta, con un errore riportato dal codice originale.La variabile "sel" in:
dtx << delete rows(sel);
non è definito.Il codice deve essere modificato nei due seguenti per funzionare correttamente
dtx = dt[1];
sel = dtx << Get Rows Where ( dtx:A <= 20);
dtx << delete rows(sel);
Ri: Come generare una media di riepilogo di più file CSV?Grazie mille per tutti i preziosi suggerimenti, di seguito trovi lo script di lavoro finale come riferimento:
dt= Multiple File Import(
<<SET folder=""></SET>
Ri: Come generare una media di riepilogo di più file CSV?Esiste un modo per chiudere tutte le tabelle importate e visualizzare solo la tabella di riepilogo una volta eseguito lo script?