Enregistrement de plusieurs base de données - scriptBonjour à tous,
Je voudrais faire un script automatique pour extraire les données d'un fichier en .csv qui enregistre des log d'une machine.
Le fichier est horrible, avec aucune logique.
J'ai réussi à faire le script pour obtenir les données, mais j'obtiens à la fin une table de données d'où je fais une extraction de table par log. selon le fichier je n'ai pas le même nombre de log et donc pas le même nombre de table de données.
Je voudrais pouvoir les enregistrer individuellement, ou même plutôt les enregistrer sous csv, afin que mes collègues puissent les utiliser.
Je termine mon script avec ces requêtes, et j'obtiens une liste de table de données. Pouvez vous m'aider ??
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
)
)
Edit (jthi): added jsl formatting
Automation and Scripting
Re: Enregistrement de plusieurs base de données - script
Une fois toutes les données importées dans JMP, c'est un plaisir de continuer à travailler avec JMP.
Lorsque vous exportez les données au format CSV ou Excel, vous perdrez toutes les possibilités intéressantes.
Mieux encore : stocker le tableau sous forme de tableau JMP.
D'autre part : analyser les données - sans le but de traiter les données dans JMP ?
Cela peut être fait beaucoup mieux en Python.
Re: Enregistrement de plusieurs base de données - script
Lorsque vous utilisez By avec subset, vous obtenez une liste de références de tables de données que vous pouvez ensuite parcourir et utiliser comme vous le souhaitez.
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);
Vous trouverez un exemple d'enregistrement au format .csv dans l'index des scripts, sous Tableau de données > Enregistrer.
回复: Enregistrement de plusieurs base de données - script
Si le fichier CSV ne présente aucun modèle, utilisez des expressions régulières pour le remplacer.
Re: Enregistrement de plusieurs base de données - scriptMerci pour ce retour !
Effectivement, il y a plusieurs buts :
- pour moi : continuer à travailler les données sous jmp, mais finalement je n'ai pas besoin des données extraites, mais juste de la table concatenée, et ça c'est bon je l'option avec mon script !
- Pour mes collaborateurs que je n'ai pas encore réussi à convertir à JMP
: Pouvoir avoir un accès rapide aux data séparées. Mais je reste avec l'espoir qu'ils finissent par passer sur JMP !
Merci en tout cas !
Re: Enregistrement de plusieurs base de données - scriptMerci pour ce retour !
Mais je reste coincée avec la fonction save ...
Je ne sais pas où la positionner pour que cela fonctionne, j'ai tenté cela, mais ça ne fonctionne pas ...
For Each({dt_subset}, ext,
Show(dt_subset << get name);
);
For Each({dt_subset}, ext,
dt_subset<< save;
);
Re: Enregistrement de plusieurs base de données - script
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,
dt_subset << Save("$TEMP/" || (dt_subset << get name) || ".jmp");
wait(0);
// close after done
Close(dt_subset, no save);
);
Show(subsets);
Open("$TEMP");
Re: Enregistrement de plusieurs base de données - scriptTout fonctionne parfaitement !!
Merci beaucoup !!