【问题标题】:Adding (mathematically) columns of a CSV based on information in another column with PowerShell使用 PowerShell 根据另一列中的信息添加(数学)CSV 列
【发布时间】:2012-07-20 20:31:36
【问题描述】:

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

如果我有一个包含 2 列的 CSV,其中一列包含人名,第二列包含数值,我需要在名称列中找到重复项,然后将该人的数值相加以获得总数在新的 CSV 中。

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

Name,Number
Dog,1
Cat,2
Fish,1
Dog,3
Dog,2
Cat,2
Fish,1

鉴于以上信息,我希望能够制作的是:

Name,Number
Dog,6
Cat,4
Fish,2

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

我在这方面的研究中遇到的最大问题是,我在谷歌搜索时得到的大多数结果都涉及向 csv 添加新列而不执行数学计算。

【问题讨论】:

标签: math powershell csv addition


【解决方案1】:

终于明白了

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

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

功劳归于:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-01
    • 2022-08-21
    • 2021-11-28
    • 2022-01-09
    • 2023-03-05
    • 1970-01-01
    相关资源
    最近更新 更多