見出し画像

#としじのPS その9 ~発展問題1:CSVファイルの集計~

#としじのPS その9 ~発展問題1~

こちらの記事を拝見しまして、やってみたくなったのでやってみました。
こちらではGoLangで実装していますね。
やっぱりPSは短く書けますね!

結果です(画像)

画像1

コードです

cls; cd C:\PowerShell

$csv = ipcsv .\ps999.csv -Encoding Default | select -First 10000

$top10 = $csv `
| group player_id `
| select `
   @{Name="rnk"; Expression={}}, `
   @{Name="pid"; Expression={$_.name}}, `
   @{Name="ave"; Expression={[int]($_.group | measure -Average score).Average}}, `
   @{Name="cnt"; Expression={($_.group | measure).Count}} `
| sort ave -Descending `
| select -First 10 `

$rnkCnt = 0

0..($top10.Count-1) `
| % { 
   $top10[$_].rnk = ++$rnkCnt
   if($top10[$_-1].ave -eq $top10[$_].ave){$top10[$_].rnk = $top10[$_-1].rnk}
   }

$top10

僕が適当に作ったサンプルのCSVです

もっといい書き方があれば知りたいです。
誰か教えて←


この記事が気に入ったらサポートをしてみませんか?