Registrazione di più database - scriptCiao a tutti,
Vorrei creare uno script automatizzato per estrarre dati da un file .csv che registra i log di una macchina.
Il file è orribile e privo di qualsiasi logica.
Sono riuscito a far sì che lo script recuperasse i dati, ma alla fine ottengo una tabella dati da cui estraggo i dati dai log. A seconda del file, non ho lo stesso numero di log e quindi non lo stesso numero di tabelle dati.
Vorrei poterli salvare singolarmente o, ancora meglio, salvarli come file csv, in modo che i miei colleghi possano utilizzarli.
Ho completato il mio script con queste query e ottengo un elenco di tabelle di dati. Puoi aiutarmi?
ext = dt3 << Subset(
By(:Name),
All rows,
Selected columns only(0),
columns(
:Time, :T1, :T2, :T7, :M1, :M2, :EV12, :EV13, :EV14, :"L-EV12"n, :"L-EV13"n, :"L-EV14"n,
:BR1, :"L-BR1"n, :PR2, :PR3, :PR4, :SPT1, :SPT2, :Curve T1, Number of heating cycles,
Date, Batch, Loading temperature, Heating cycle number, Heating cycle, Duration
)
)
Modifica (jthi): aggiunta formattazione jsl
Automazione e scriptingRe: Salvataggio di più database - scriptUna volta che hai tutti i dati in JMP, è un piacere continuare a utilizzarlo.
Se esporti i dati in formato csv o excel, perderai tutte le fantastiche possibilità.
Meglio: memorizzare la tabella come tabella JMP.
D'altro canto: analizzare i dati senza l'obiettivo di elaborare i dati in JMP?
In Python è possibile fare molto meglio.
Re: Salvataggio di più database - scriptQuando si utilizza By con un sottoinsieme si ottiene un elenco di riferimenti a tabelle dati su cui è possibile eseguire un ciclo e fare ciò che si desidera.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
subsets = dt << Subset(
By(:age),
All rows,
Selected columns only(0),
columns(:name, :sex, :height, :weight)
);
Show(subsets);
For Each({dt_subset}, subsets,
// do something here
Show(dt_subset << get name);
wait(0);
// close after done
Close(dt_subset, no save);
);
Show(subsets);
Puoi trovare un esempio di salvataggio .csv da Scripting Index in Tabella dati > Salva
Nota: Registrazione di più database - scriptSe il CSV non ha uno schema, utilizzare espressioni regolari per sostituirlo
Re: Salvataggio di più database - scriptGrazie per il feedback!
In effetti, gli obiettivi sono diversi:
- Per me: continuare a lavorare con i dati in JMP, ma in definitiva non ho bisogno dei dati estratti, solo della tabella concatenata, e va bene, posso farlo con il mio script!
- Per i miei colleghi che non sono ancora riuscito a convertire a JMP
: avere un rapido accesso a dati separati è essenziale. Ma continuo a sperare che prima o poi passeranno a JMP!
Grazie comunque!
Re: Salvataggio di più database - scriptGrazie per il feedback!
Ma sono ancora bloccato con la funzione di salvataggio...
Non so dove posizionarlo affinché funzioni; ho provato, ma non funziona...
Per ogni({dt_subset}, ext,
Show(dt_subset << ottieni nome);
);
Per ogni({dt_subset}, ext,
dt_subset<< salva;
);
Re: Salvataggio di più database - scriptNames Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
subsets = dt << Subset(
By(:age),
All rows,
Selected columns only(0),
columns(:name, :sex, :height, :weight)
);
Show(subsets);
For Each({dt_subset}, subsets,
dt_subset << Save("$TEMP/" || (dt_subset << get name) || ".jmp");
wait(0);
// close after done
Close(dt_subset, no save);
);
Show(subsets);
Open("$TEMP");
Re: Salvataggio di più database - scriptTutto funziona perfettamente!!
Grazie mille !!