Comment générer une moyenne récapitulative de plusieurs fichiers csv?J'ai plusieurs fichiers csv au format attaché dans un dossier particulier, comment générer un nouveau fichier qui contient le résumé de la moyenne de toutes les colonnes A, B, C, D de chaque fichier csv au format ci-dessous:
| nom de fichier | UNE | B | C | ré |
| | avg_colA_file1 | avg_colB_file1 | avg_colC_file1 | avg_colC_file1 |
| | avg_colA_file2 | avg_colB_file2 | avg_colC_file2 | avg_colC_file2 |
| | | | | |
Je sais générer la moyenne de chaque fichier csv en utilisant le résumé du tableau, mais comment pouvons-nous faire la même chose pour plusieurs fichiers csv en utilisant un seul script?
AnalytiqueTableau de donnéesBICHEScriptingRe: Comment générer une moyenne récapitulative de plusieurs fichiers csv?Utilisez "Importation de fichiers multiples ()".
La documentation est fournie dans le Guide de script, disponible dans la bibliothèque de documentation JMP sous le menu déroulant Aide.
Re: Comment générer une moyenne récapitulative de plusieurs fichiers csv?Merci, mais cela n'importera que plusieurs fichiers dans une seule table de données. Je voulais savoir comment puis-je calculer la moyenne de toutes les colonnes de chaque fichier en utilisant un seul scriptRe: Comment générer une moyenne récapitulative de plusieurs fichiers csv?L'importation de fichiers multiples a la possibilité d'ajouter une nouvelle colonne qui contient le nom de fichier du fichier d'où proviennent les données (Ajouter une colonne de nom de fichier). Cela signifie que vous pouvez facilement ajouter une clause By () à votre résumé, qui fournira des moyennes séparées pour chaque fichier importé.
Re: Comment générer une moyenne récapitulative de plusieurs fichiers csv?Avez-vous essayé si la fonction Tables -> Résumé fait le travail que vous voulez?


Re: Comment générer une moyenne récapitulative de plusieurs fichiers csv?J'essaie le script ci-dessous mais cela ne fonctionne pas, pourriez-vous s'il vous plaît indiquer quel est le problème ici?
dt = Importation de fichiers multiples (
<< Définir le dossier (
"C: \ Utilisateurs \ mes_fichiers \"
),
<< Définir le filtre de nom ("*. *;"),
<< Activer le nom (0),
<< Définir le filtre de taille ({37111019, 38896395}),
<< Définir la taille activée (0),
<< Définir le filtre de date ({3689368844.046, 3689369157.819}),
<< Définir la date d'activation (0),
<< Définir la colonne Ajouter un nom de fichier (1),
<< Définir la colonne Ajouter une taille de fichier (0),
<< Définir la colonne Ajouter la date du fichier (0),
<< Définir le mode d'importation ("CSVData"),
<< Définir le jeu de caractères ("Best Guess"),
<< Définir le mode Stack ("Stack Similar"),
<< Définir CSV a des en-têtes (1),
<< Définir CSV Autoriser Numérique (1),
<< Définir la première ligne d'en-tête CSV (1),
<< Définir le nombre de lignes d'en-tête CSV (1),
<< Définir la première ligne de données CSV (2),
<< Réglez CSV EOF Virgule (1),
<< Définir l'onglet CSV EOF (0),
<< Définir l'espace CSV EOF (0),
<< Définir les espaces CSV EOF (0),
<< Définir CSV EOF Autre (""),
<< Définir CSV EOL CRLF (1),
<< Définir CSV EOL CR (1),
<< Définir CSV EOL LF (1),
<< Définir le point-virgule CSV EOL (0),
<< Définir CSV EOL Autre (""),
<< Définir le devis CSV ("\!" "),
<< Définir l'échappement CSV ("")
) << Importer des données;
dt << Obtenir les lignes où (: A <= 20);
dt << supprimer les lignes (sel);
dt <<
Sommaire(
Groupe (: Nom du fichier),
Moyenne (: A),
Freq ("Aucun"),
Poids ("Aucun")
)
Re: Comment générer une moyenne récapitulative de plusieurs fichiers csv?IMF toujours renvoie une liste de tables de données (pas une table, mais une {liste} contenant une ou plusieurs tables). Nous aurions besoin de voir certains messages du journal pour donner une meilleure réponse - pas sûr de la syntaxe de suppression des lignes - mais l'un ou l'autre de ceux-ci:
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" )
)
)
ou si vous savez qu'il n'y en a qu'un
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" )
)
en utilisant dtx pour être la table courante de la liste dans dt.
Re: Comment générer une moyenne récapitulative de plusieurs fichiers csv?@Craige_Hales a la bonne réponse, avec une erreur reportée du code d'origine.La variable "sel" dans:
dtx << delete rows(sel);
n'est pas défini.Le code doit être changé pour les deux ci-dessous fonctionnent correctement
dtx = dt[1];
sel = dtx << Get Rows Where ( dtx:A <= 20);
dtx << delete rows(sel);
Re: Comment générer une moyenne récapitulative de plusieurs fichiers csv?Merci beaucoup pour toutes les précieuses suggestions, veuillez trouver ci-dessous le script de travail final pour référence:
dt= Multiple File Import(
<<SET folder=""></SET>
Re: Comment générer une moyenne récapitulative de plusieurs fichiers csv?Existe-t-il un moyen de fermer toutes les tables importées et d'afficher uniquement le tableau récapitulatif une fois le script exécuté?