Question Données à mettre dans un tableau

Plus d'informations
il y a 9 ans 3 mois #22761 par djtall
Hello, j'aurais besoin d'un coup de main :)

J'ai un fichier texte avec des données comme ci-dessous

Denis
voiture
4
Michel
Velo
2
Marc
Train
3
...

Et je voudrais récupérer les informations dans un affichage style tableau :

Denis Michel Marc
voiture vélo train
4 2 3

Merci :)

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 9 ans 3 mois #22762 par djtall

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 9 ans 3 mois #22766 par Laurent Dardenne
Salut
soit une approche texte :
[code:1]@'
Denis
voiture
4
Michel
Velo
2
Marc
Train
3
'@ > c:\temp\datas.txt
$T=GC c:\temp\datas.txt
[int]$step=3
[int]$Count=$T.count
$A=$B=$C=''
for ($i=0; $i -lt $count;$i=$i+$step)
{
$A +=' '+$T[$i]
$B +=' '+$T[$i+1]
$C +=' '+$T[$i+2]
}
@\"
$A
$B
$C
\"@
[/code:1]
Soit objet :
[code:1]
#Requires -version 3
Function New-MyInfo{
param(
[Parameter(Mandatory=$True,position=0)]
$Nom,
[Parameter(Mandatory=$True,position=1)]
$Locomotion,
[Parameter(Mandatory=$True,position=2)]
$x
)

[pscustomobject]@{
PSTypeName='MyInfo';
Nom=$Nom;
Locomotion=$Locomotion;
x=$x;
}

}
$T=GC c:\temp\datas.txt
[int]$step=3
[int]$Count=$T.count
$Liste=for ($i=0; $i -lt $count;$i=$i+$step)
{
New-MyInfo $T[$i] $T[$i+1] $T[$i+2]
}
$liste
@\"
$($liste.Nom)
$($liste.Locomotion)
$($liste.X)
\"@
[/code:1]

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 9 ans 3 mois #22768 par djtall
Merci beaucoup Laurent, j'ai appliqué la 1ere methode ! :)

Par contre je récupère toujours les données en vrac

Je voudrais les récupérer en forme, délimité, en colonne.
Afin d'envoyer les résultats par mail.
Aurais tu une idée ?

Prénom1 | transport1 | Nombre1
Prénom2 | transport2 | Nombre2
...

:cheer:

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 9 ans 3 mois #22769 par Laurent Dardenne
djtall écrit:

Par contre je récupère toujours les données en vrac

Je ne pense pas, le début de solution proposée tient compte de l'exemple de résultat que tu as donné.
[code:1]$liste| % {
\"{0}|{1}|{2}\" -F $_.Nom, $_.Locomotion,$_.X
}[/code:1]

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 9 ans 3 mois #22771 par djtall
J’obtiens :

||||
||||
||||
||||
||||
||||
||||
||||
||||

:pinch:

#Mon script :

$Tableau = Get-Content -Path C:\fichier.txt

[int]$step=5
[int]$Count=$Tableau.count
$A=$B=$C=$D=$E=''
for ($i=0; $i -lt $count;$i=$i+$step)
{
$A +=' '+$Tableau[$i]
$B +=' '+$Tableau[$i+1]
$C +=' '+$Tableau[$i+2]
$D +=' '+$Tableau[$i+3]
$E +=' '+$Tableau[$i+4]
}
$Tableau| % {
\"{0}|{1}|{2}|{3}|{4}\" -F $_.Nom, $_.Locomotion,$_.X,$_.Y,$_.Z
}

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.050 secondes
Propulsé par Kunena