Вопрос, поднимаемый ранее решён с помощью компонента foo_texttools.
В нем составляю запрос в виде шаблона CSV-файла:
- Код: Выделить всё
"%artist%","%date%","%album%","%tracknumber%","%title%","%length_seconds%",["%rating%"],["%play_count%"]
- Спойлер
- Код: Выделить всё
param ($file)
$csv = import-csv -path $file -delimiter ',' -encoding default -header 'ARTIST','YEAR','ALBUM','#','TITLE','LENGTH','RATING','COUNT'
$groups = $csv | group-object 'YEAR','ALBUM'
$report = 0..($groups.count - 1) | foreach {
foreach ($track in $groups[$_].group)
{
$artist = $track.artist
$year = $track.year
$album = $track.album
$albumlength += [int] $track.length
$albumrating += [int] $track.rating
}
[pscustomobject] @{
ARTIST = $artist
YEAR = $year
ALBUM = $album
TRACKS = $groups[$_].group.count
RATING = $(if ($albumrating) { '{0:N}' -f ($albumrating / $groups[$_].group.count) })
LENGHT = (new-timespan -seconds $albumlength).tostring()
}
$albumlength = $albumrating = $null
}
$report | format-table
- Код: Выделить всё
ARTIST YEAR ALBUM TRACKS RATING LENGHT
------ ---- ----- ------ ------ ------
Бригадный Подряд 2014 Сомнамбула (Переиздание) 12 4,17 00:32:48
Бригадный Подряд 2015 Новый Сезон 10 3,50 00:27:16