小编dex*_*now的帖子

使用BASH将CSV转换为JSON

我试图将下面的csv转换成json格式.

Africa,Kenya,NAI,281
Africa,Kenya,NAI,281
Asia,India,NSI,100
Asia,India,BSE,160
Asia,Pakistan,ISE,100
Asia,Pakistan,ANO,100
European Union,United Kingdom,LSE,100
Run Code Online (Sandbox Code Playgroud)

这是所需的json格式,我无法创建它.我将在此下面发布我的工作..任何帮助或方向将不胜感激...

  {"name":"Africa",
      "children":[
      {"name":"Kenya",
          "children":[
          {"name":"NAI","size":"109"},
          {"name":"NAA","size":"160"}]}]},
  {"name":"Asia",
      "children":[
      {"name":"India",
          "children":[
          {"name":"NSI","size":"100"},
          {"name":"BSE","size":"60"}]},
  {"name":"Pakistan",
      "children":[
      {"name":"ISE","size":"120"},
      {"name":"ANO","size":"433"}]}]},
  {"name":"European Union",
        "children":[
        {"name":"United Kingdom",
            "children":[
            {"name":"LSE","size":"550"},
            {"name":"PLU","size":"123"}]}]}
Run Code Online (Sandbox Code Playgroud)

工作正在进行中.

$ 1是上面粘贴的csv值的文件.

#!/bin/bash

pcountry=$(head -1 $1 | cut -d, -f2)

cat $1 | while read line ; do 

region=$(echo $line|cut -d, -f1)
country=$(echo $line|cut -d, -f2)
code=$(echo $line|cut -d, -f3-)
size=$(echo $line|cut -d, -f4)

if test "$pcountry" == "$country" ;
  then 
  echo -e {\"name\":\"$region\", …
Run Code Online (Sandbox Code Playgroud)

csv bash shell json

2
推荐指数
2
解决办法
8679
查看次数

标签 统计

bash ×1

csv ×1

json ×1

shell ×1