You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用PowerShell的Group-Object对CSV打印记录分组并汇总总页数

分组后汇总打印总页数的实现方法

你已经完成Full Name和Printer Name两个字段的分组后,直接对每个分组内的Total Pages字段求和即可,具体操作如下:

完整代码示例

如果你是从CSV导入后全流程处理,可直接运行以下代码:

# 导入CSV文件 + 按双字段分组 + 汇总每页总数
Import-Csv -Path "你的打印记录文件路径.csv" -Encoding UTF8 | 
Group-Object -Property "Full Name", "Printer Name" | 
ForEach-Object {
    # 计算当前分组的总打印页数
    $pageSum = ($_.Group | Measure-Object -Property "Total Pages" -Sum).Sum
    # 构造输出的统计对象
    [PSCustomObject]@{
        "用户姓名"   = $_.Values[0]
        "打印机名称" = $_.Values[1]
        "总打印页数" = $pageSum
    }
}
# 如果需要导出结果到新CSV,可在末尾追加以下代码
# | Export-Csv -Path "月度打印统计报表.csv" -Encoding UTF8 -NoTypeInformation

关键逻辑说明

  • Group-Object返回的每个分组对象都包含Group属性,存储了该分组下所有的原始打印记录
  • 用Measure-Object搭配-Sum参数,可直接对分组内所有记录的Total Pages字段求和
  • 如果你已经提前把分组结果存储到了变量(比如$printGroups),直接遍历该变量即可,逻辑和上述代码中的ForEach-Object部分完全一致

用你给出的示例数据运行上述代码,会得到符合预期的统计结果:

  • User One + Printer HP:总页数13
  • User One + Printer Dell:总页数5
  • User Two + Printer HP:总页数9

内容的提问来源于stack exchange,提问作者user17217066

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 09:06:03