使用PowerShell基于另一列中的信息添加(数学)CSV列

use*_*978 4 csv math powershell addition

我很难描述我在标题中需要什么,所以如果这完全没有意义,我提前道歉.

如果我有一个包含2个列的CSV,一个带有人名,另一个带有数字值,我需要在名称列中找到重复项,然后将该人的数值加在一起以获得新的总数CSV.

这是真实CSV的非常简化版本

Name,Number
Dog,1
Cat,2
Fish,1
Dog,3
Dog,2
Cat,2
Fish,1
Run Code Online (Sandbox Code Playgroud)

鉴于上述信息,我希望能够产生的是:

Name,Number
Dog,6
Cat,4
Fish,2
Run Code Online (Sandbox Code Playgroud)

我真的不知道如何到达那里,或者是否有可能使用PowerShell.我只能使用group-object按名称进行分组,但我不知道如何在此之后添加列.

我在研究这个问题时遇到的最大问题是,谷歌搜索时获得的大部分结果都涉及到向csv添加新列而不执行数学计算.

use*_*978 5

我终于明白了

$csvfile = import-csv c:\csvfile.csv

$csvfile | group name | select name,@{Name="Totals";Expression={($_.group | Measure-Object -sum number).sum}} 
Run Code Online (Sandbox Code Playgroud)

归功于:

http://www.hanselman.com/blog/ParsingCSVsAndPoorMansWebLogAnalysisWithPowerShell.aspx