2014-12-05 60 views
0

我知道这个问题已经回答了很多次,所以我很抱歉再次提问。我编写了我的第一个Power Shell脚本来执行聚合任务。我不知道如何追加到现有的CSV文件。现在我的脚本只是聚合列,我想修改它来聚合多个列,所以我需要追加我的输出。电源外壳追加与export-csv

我输入文件看起来像这样:

SalesID Qty Amount 
1  2 5 
1  3 6 
2  5 9 
2  6 5 

我的电流输出为:

SalesID  Sum 
1   5  
2   11  

但我所要的输出是这样的:

SalesID Sum Amount 
1  5  11 
2  11 14 

我的脚本:

import-csv $inFilePath | Group-Object $GroupByColumName| %{ 
    New-Object psobject -Property @{ 
     $GroupByColumName= $_.Name 
     Sum = ($_.Group | Measure-Object $SumColumnName -Sum).Sum 
    } 
}| 
export-csv $outFilePath -encoding "UTF8" -notype 

请帮我在这里。谢谢。

+0

前救人时,你应该把什么'$ GroupByColumName'和'$ SumColumnName'是 – Matt 2014-12-05 19:34:57

回答

1

该信息已经存在,供您访问,只需要获取即可。

$data | Group-Object SalesID | %{ 

    New-Object pscustomObject -Property @{ 
     SalesID = $_.Name 
     Quantity = ($_.Group.Qty | Measure-Object -Sum).Sum 
     Amount = ($_.Group.Amount | Measure-Object -Sum).Sum 
    } 
} | Select-Object SalesID,Quantity,Amount | export-csv $outFilePath -encoding "UTF8" -notype 

对于每个salesID,我们得到他的数量和金额的总和。下面是控制台输出

SalesID Quantity Amount 
------- -------- ------ 
1    5  11 
2    11  14 
+0

是的。我只是想出了它。不管怎么说,还是要谢谢你 :) – St5987 2014-12-05 19:48:55