换下风格^_^

使用jq把json转化成csv格式

Linux admin 387℃ 0评论

导读:相信大家在开发数据接口时提供的一般是json格式的数据交互。而老板们一般使用傻逼excel来看一下临时报表数据。这时候我们就需要把json数据转换成csv,随即可供excel使用。

本文讲讲怎么来把json转成csv格式输出到文件的。这里我们首先推荐一款用于操作json的神级工具jq。这是一个轻量级灵活处理json的命令行工具。

安装方式:

  • Debian and Ubuntu:  sudo apt-get install jq
  • OS X:brew install jq

下载地址:https://stedolan.github.io/jq/download/

下载安装好了后,执行jq -h看时候安装成功。

好了步入正题了。

示例

输入:

[
    {"code": "NSW", "name": "New South Wales", "level":"state", "country": "AU"},
    {"code": "AB", "name": "Alberta", "level":"province", "country": "CA"},
    {"code": "ABD", "name": "Aberdeenshire", "level":"council area", "country": "GB"},
    {"code": "AK", "name": "Alaska", "level":"state", "country": "US"}
]

输出:

code,name,level,country
NSW,New South Wales,state,AU
AB,Alberta,province,CA
ABD,Aberdeenshire,council area,GB
AK,Alaska,state,US

命令:
jq -r '(map(keys) | add | unique) as $cols | $cols, map(. as $row | $cols | map($row[.]))[] | @csv' test.txt

其中jq后的.是选择操作的字段。
结果:

"level","name","value"
0,"bang","!"
0,"letters","a,b,c"
1,"letters","x,y,z"
1,"bang","""!"""

转载请注明:极豆技术博客 » 使用jq把json转化成csv格式

喜欢 (0)
捐助本站极豆博客全站无广告。如果您觉得本博客的内容对您小有帮助,可以对我小额赞助,您的赞助将用于维持博客运营。

极豆博客

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址