2015-04-27 3 views
-1

У меня есть CSV, как это:Объединить столбцы из CSV

Group;Name;Color 
Fruit;Apple;green 
Vegetable;Carrot;orange 
Fruit;Banana;yellow 
Fruit;cherry;red 
Vegetable;cucumber;green 

и хотят объединить его (с помощью PowerShell), так что каждая группа появляется только один раз, и последующие в соответствии «Имена» к ней в массив, как это (?):

Group;Name;color 
Fruit;{Apple,Banana,Cherry};{green,yellow,red} 
Vegetable;{Carrot;cucumber};{orange,green} 

ответ

2

Использование Group-Object для группировки объектов по их свойствам:

Import-Csv 'C:\path\to\input.csv' -Delimiter ';' | 
    Group-Object Group | 
    select @{n='Group';e={$_.Name}}, 
     @{n='Name';e={'{{{0}}}' -f ($_.Group.Name -join ',')}}, 
     @{n='Color';e={'{{{0}}}' -f ($_.Group.Color -join ',')}} | 
    Export-Csv 'C:\path\to\output.csv' -NoType -Delimiter ';' 
+0

THx Ansgar Wiechers! :-) – Ping

Смежные вопросы