开发者社区> 问答> 正文

使用shell脚本将JSON文件转换为CSV而不使用JQ?

我想使用shell脚本而不使用jq 将json文件转换为csv 。可能吗?

这是一个json:

{
  "id": "0001",
    "type": "donut",
    "name": "Cake",
    "ppu": 0.55,
},
{
"id": "0002",
    "type": "donut2",
    "name": "Cake2",
    "ppu": 0.5522,
}

我不想用jq。

我想将其存储在一个csv文件中。

展开
收起
祖安文状元 2020-01-16 17:43:27 2109 0
1 条回答
写回答
取消 提交回答
  • Bash根本不是执行此操作的工具。但是,如果由于某种原因而无法安装jq,则可以简单地使用Python 3,它在大多数Linux和MacOS发行版中都是默认提供的。

    #!/usr/local/bin/python3
    
    import json
    
    objs=json.loads("""
    [
        {
            "id": "0001",
            "type": "donut",
            "name": "Cake",
            "ppu": 0.55
        },
        {
            "id": "0002",
            "type": "donut2",
            "name": "Cake2",
            "ppu": 0.5522
        }
    ]
    """)
    for item in objs :
        print("{}{}{}{}{}{}{}".format(item['id'],",",item['type'],",",item['name'],",",item['ppu']))
    
    

    如果您也没有Python 3,则可以使用Ruby(大多数发行版和MacOS中也默认提供)来实现

    2020-01-16 17:43:36
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Shell 脚本速查手册 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载