用Glom解析JSON

2024-10-02 02:37:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图解析一个JSON对象,但很难以一种可以与另一个df合并的方式访问一个值。值的路径是:QueryResponse.Purchase[0].Line[0].Amount

此规范将为我提供第一个值:

glom(data, ('QueryResponse.Purchase', ['Line'], (['0'], ['Amount'])))

但不是包含在另一个Lines中的Amounts。我可以访问其他的Amount值,但无法找到如何将其与包含Purchase级值的df合并


Tags: 对象路径规范jsondfdata方式line
2条回答

如果没有一个数据示例,就很难帮助解决这个问题

但是,假设您的数据如下所示:

data = {"QueryResponse": 
          {"Purchase": [
             {"Line": {"Amount": 10}}, 
             {"Line": {"Amount": 20}}
            ]
          }
        }

然后,从每个Line条目中获取所有Amount值的查询将完整路径放入列表中所需的值

>>> glom(data, ('QueryResponse.Purchase', ['Line.Amount']))
[10, 20]

基于Glom Tutorial,在glom方法中使用“数据”之前,需要指定“数据”

示例(来自该站点):

from glom import glom

# Basic deep get

data = {'a': {'b': {'c': 'd'}}}

print(glom(data, 'a.b.c'))

在您的例子中,您还需要在顶部导入Json(但您可能已经这样做了)

相关问题 更多 >

    热门问题