Question Tri numerique decroissant de fichier csv

Plus d'informations
il y a 2 ans 1 mois - il y a 2 ans 1 mois #32554 par Christophe MELIN
Bonjour,

en reprenant les éléments que Laurent a déjà fourni, voilà une version simplifiée :
=============================================================
[string]$Rep_temp  = $Env:TEMP
[string]$Fich_temp = "$Rep_Temp\X_arc_ciel.tmp"

#-- création du tableau de données --
$arrLines = @(
    'Rang;Couleur;Compte'
    '1;Blanc;150'
    '2;Rouge;1181'
    '3;Bleu;37'
    '4;Vert;243'
    '5;Jaune;274'
)
#-- export du tableau dans un fichier temporaire --
$arrLines | Out-File $Fich_temp -Encoding Unicode -force

#-- relecture avec conversion en entier et tri descendant --
$arrObjects = Import-Csv $Fich_temp -Delimiter ';' -encoding unicode `
  | foreach-object { $_.compte = [int]$_.compte; $_ } `
  | Sort-Object -Property  @{ Expression = 'Compte'; Ascending = $False }

#-- affichage des résultats --
ForEach ( $Objet in $arrObjects ) {
  Write-Host ("Rang : {0,-5} Couleur : {1,-10} Compte : {2,5}" -f $Objet.Rang, $Objet.Couleur, $Objet.Compte )
}

#-- suppression du fichier temporaire --
remove-item -path $fich_temp
=============================================================

On évite une écriture - lecture d'un deuxième fichier temporaire. J'ai aussi ajouté la suppression du fichier temporaire.
Avec le tableau $arrLines, on évite plusieurs variables $ligneX et surtout plusieurs écritures successives dans le fichier temporaire (et c'est facile d'ajouter d'autres lignes car il suffit de les ajouter dans le tableau
 
Dernière édition: il y a 2 ans 1 mois par Christophe MELIN.

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

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