将对象按字段分组并求和,然后生成CSV报告 [英] group objects by a field and sum another, then produce a CSV report

查看:60
本文介绍了将对象按字段分组并求和,然后生成CSV报告的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何从此json创建csv?我有:

How can I create a csv from this json? I have:

[
  {
    "name": "John",
    "cash": 5
  },
  {
    "name": "Anna",
    "cash": 4
  },
  {
    "name": "Anna",
    "cash": 3
  },
  {
    "name": "John",
    "cash": 8
  }
]

我需要按名称分组并汇总现金,然后将结果发送为.csv,例如:

I need group by name and sum the cash and send the result a .csv like:

John,13
Anna,7

谢谢!

推荐答案

JQ具有group_by作为内置函数,使用它并进行map(.cash) | add求和每个组的cash值.

JQ has group_by as a builtin, use that and do map(.cash) | add to sum cash values for each group.

group_by(.name)[] | [.[0].name, (map(.cash) | add)] | @csv

在线演示

这篇关于将对象按字段分组并求和,然后生成CSV报告的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆