[Powershell] Jouer avec un fichier texte et un tableau ?

Le
Polo
Bonjour a tous,

J'ai une nouvelle petite problématique
J'ai un fichier txt du type:

19/11/2007, 9:52,10,3,7
19/11/2007,10:07,11,5,6
19/11/2007,10:16,13,6,7
19/11/2007,10:31,15,3,12

il est donc du type Date,heure,val1,val2,val3

Je souhaite faire ressortir:
La moyenne de chaque val1, val2 et val3
La valeur max de chaque val1, val2 et val3

En fait je me demandais si je pouvais faire un get-content du fichier,
L'importer dans un tableau, et faire, si ça existe, des requetes de type
ValMax ou ValMoyenne sur les 3 dernieres colonnes
J'espère avoir été clair

Merci pour votre aide,

Polo
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Polo
Le #702671
Je suis parti sur une base:
import-csv


Mais je cherche a travailler avec les résultats...
Je sais que je peux faire:

$a = import-csv c:essai.txt

apres je peux jouer sur $a | Select val1
Mais je crois qu'il me manque tout ce qui est opération mathématique (val
max et moyenne)...

Je cherche encore...

@+++



"Polo"
Bonjour a tous,

J'ai une nouvelle petite problématique...
J'ai un fichier txt du type:

19/11/2007, 9:52,10,3,7
19/11/2007,10:07,11,5,6
19/11/2007,10:16,13,6,7
19/11/2007,10:31,15,3,12

il est donc du type Date,heure,val1,val2,val3

Je souhaite faire ressortir:
La moyenne de chaque val1, val2 et val3
La valeur max de chaque val1, val2 et val3

En fait je me demandais si je pouvais faire un get-content du fichier,
L'importer dans un tableau, et faire, si ça existe, des requetes de type
ValMax ou ValMoyenne sur les 3 dernieres colonnes...
J'espère avoir été clair...

Merci pour votre aide,

Polo





Gilles LAURENT [MVP]
Le #702670
"Polo" news:

Bonjour,

| Je suis parti sur une base:
| import-csv

--- file.csv ---
Date,heure,val1,val2,val3
19/11/2007, 9:52,10,3,7
19/11/2007,10:07,11,5,6
19/11/2007,10:16,13,6,7
19/11/2007,10:31,15,3,12
--- file.csv ---

$a=import-csv d:testfile.csv
for ($i=1; $i -lt 4; $i++){
$a |
measure-object val$i -average -maximum |
select property, average, maximum |
ft -a
}

--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
Jacques Barathon [MS]
Le #702669
"Polo" news:
Je suis parti sur une base:
import-csv


Mais je cherche a travailler avec les résultats...
Je sais que je peux faire:

$a = import-csv c:essai.txt

apres je peux jouer sur $a | Select val1
Mais je crois qu'il me manque tout ce qui est opération mathématique (val
max et moyenne)...


Ce qu'il te faut, c'est measure-object:

PS> $a = import-csv test.csv
PS> $resultats = $a | measure-object val1,val2,val3 -average -max
PS> $resultats | ft property,average,maximum -a

Property Average Maximum
-------- ------- -------
val1 12,25 15
val2 4,25 6
val3 8 12

Tu peux aussi ne récupérer les stats que sur une seule propriété, bien sûr:

PS> $stats_val1 = $a | measure-object val1 -average -max
PS> $stats_val1.average
12,25
PS> $stats_val1.maximum
15

Jacques

Polo
Le #702468
Merci Gilles...
Je m'en vais étudier cela !

@ bientot !

"Gilles LAURENT [MVP]" %
"Polo" news:

Bonjour,

| Je suis parti sur une base:
| import-csv

--- file.csv ---
Date,heure,val1,val2,val3
19/11/2007, 9:52,10,3,7
19/11/2007,10:07,11,5,6
19/11/2007,10:16,13,6,7
19/11/2007,10:31,15,3,12
--- file.csv ---

$a=import-csv d:testfile.csv
for ($i=1; $i -lt 4; $i++){
$a |
measure-object val$i -average -maximum |
select property, average, maximum |
ft -a
}

--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr




Polo
Le #702467
Merci Jacques,

Je vais étudier cela et la réponse de Gilles
@ bientôt,

Polo


"Jacques Barathon [MS]" message de news: %23XHaA$
"Polo" news:
Je suis parti sur une base:
import-csv


Mais je cherche a travailler avec les résultats...
Je sais que je peux faire:

$a = import-csv c:essai.txt

apres je peux jouer sur $a | Select val1
Mais je crois qu'il me manque tout ce qui est opération mathématique (val
max et moyenne)...


Ce qu'il te faut, c'est measure-object:

PS> $a = import-csv test.csv
PS> $resultats = $a | measure-object val1,val2,val3 -average -max
PS> $resultats | ft property,average,maximum -a

Property Average Maximum
-------- ------- -------
val1 12,25 15
val2 4,25 6
val3 8 12

Tu peux aussi ne récupérer les stats que sur une seule propriété, bien
sûr:

PS> $stats_val1 = $a | measure-object val1 -average -max
PS> $stats_val1.average
12,25
PS> $stats_val1.maximum
15

Jacques




Publicité
Poster une réponse
Anonyme