【问题标题】:Converting nested json to csv in python? [closed]在python中将嵌套的json转换为csv? [关闭]
【发布时间】:2020-08-09 22:44:38
【问题描述】:

给定的嵌套 json 是使用 json 的真实示例,我只需要在给定的 json 数据中提取 [a2] 及其 [pp] [qq] [rr]。

    {
       "aa":1500,
       "bb":1570,
       "cc":"14",
       "a1":{
          "x":1065,
          "y":9040.0,
          "z":[
             {
                "pp":1596,
                "qq":1.00,
                "rr":1400,
             },
             {
                "pp":15960000,
                "qq":1.00,
                "rr":1400,
             }
          ]
      },       
      "a2":{
         "x":324,
         "y":342.0,
         "z":[
            {
               "pp":15960,
               "qq":1.00,
               "rr":1.00,
            },
            {
               "pp":31434,
               "qq":1500,
               "rr":1500,
            }
        ]
    }
}

我尝试了相同的多种语法,但总是遇到一些错误。任何人都可以为这个 json 到 python 中的 csv 转换提供可能的解决方案,并创建一个新的 csv 文件来在其中写入该 csv 输出。

【问题讨论】:

  • 我收到字符串索引必须是整数的错误

标签: python json python-3.x


【解决方案1】:

如果我理解正确:

x['a2']['z']

[{'pp': 15960, 'qq': 1.0, 'rr': 1.0}, {'pp': 31434, 'qq': 1500, 'rr': 1500}]

【讨论】:

  • 如果 a2 是给定 json 的树,它有分支 x、y、z 和 pp qq rr 是 z 的子分支,所以基本上我想要 csv 中 a2 的所有 z。
  • 是的,没错
【解决方案2】:

让我们将您的文件命名为foo.json 并尝试访问a2z[pp] [qq] [rr] 中的第一个

import json

with open("foo.json", "r") as filein:
    json_file = json.loads(filein.read())

z = json_file["a2"]["z"]
pp = z[0]["pp"]
# and so on

【讨论】:

  • 如果 a2 是给定 json 的树,它有分支 x、y、z 和 pp qq rr 是 z 的子分支,所以基本上我想要 csv 中 a2 的所有 z
  • 如果你想同时得到[pp][qq][rr],你可以用 z[0] 来做第一个, z[1] 来做第二个。我想这就是你要问的。
猜你喜欢
  • 1970-01-01
  • 2018-10-27
  • 2021-05-17
  • 2020-01-16
  • 2019-09-24
  • 1970-01-01
  • 2017-05-02
  • 2020-12-04
相关资源
最近更新 更多