【问题标题】:Converting Nested JSON to pandas dataframe with specific condition将嵌套 JSON 转换为具有特定条件的熊猫数据框
【发布时间】:2021-03-30 11:09:57
【问题描述】:

考虑下面的 JSON(原始 JSON 的 sn-p)

{
    "Data": {
        "abc": [
            {
                "Month": "1990-01-01",
                "Country": "BEL",
                "Version": "12345",
                "check1": null,
                "check2": 123
            },
            { ........
            }
        ]
 } 

要将其转换为数据框,我将执行以下操作

response = requests.request("GET", url, headers=headers, data = payload)

c = response1.json()
cs = c['Data']['abc']
df = pd.read_json(json.dumps(cs), orient='records')
df.reset_index(drop=True, inplace=True)

注意我是如何使用 cs = c['Data']['abc'];这是我的问题;

有没有办法实现上述目的,而不使用['abc']。我正在开发一个处理类似结构的 JSON 的函数,但 ['abc'] 部分除外,其中每个 JSON 都有一个唯一的命名法。

提前致谢

【问题讨论】:

  • 您希望从 JSON 中的特定级别提取数据而不用名称引用它?
  • cs = next(iter(c['Data'].values()))怎么样
  • @gtomer 是的,完全正确。你看,我有太多的 JSON 需要处理,知道特定级别的名称几乎是不可能的。如果有办法对此进行参数化,那将是理想的

标签: python json pandas api


【解决方案1】:

试试这个:

cs=list(c['Data'].values())[0]

【讨论】:

  • 不知道为什么,但似乎我的代码一直在运行
  • 如果你尝试print(c['Data'].values())会发生什么?
  • 同理,只是推测,但这是否与JSON的大小有关
  • type(c) 的结果是什么?
  • 类'dict';我收到此错误 TypeError: 'dict_values' object is not subscriptable 。永远运行这是由于我的 API 失败,该问题现已修复
【解决方案2】:

@cs95 他在 cmets 中的回答对我有用。在此转发

cs = next(iter(c['Data'].values()))

【讨论】:

    猜你喜欢
    • 2020-10-18
    • 2021-10-08
    • 2019-12-23
    • 2021-06-13
    • 2021-08-27
    • 2020-11-19
    • 2022-01-06
    • 2021-08-21
    相关资源
    最近更新 更多