0

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

这个规范会给我第一个值:

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

但不是Amounts包含在其他中Lines。我可以访问其他Amount值,但无法弄清楚如何将其与包含Purchase级别值的 df 合并

4

2 回答 2

1

根据Glom Tutorial,您需要在 glom 方法中使用它之前指定“数据”。

示例(来自那里的网站):

from glom import glom

# Basic deep get

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

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

在您的情况下,您还需要在顶部导入 Json(但您可能已经这样做了)。

于 2021-01-13T23:49:44.547 回答
1

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

但是,假设您的数据看起来像这样:

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

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

>>> glom(data, ('QueryResponse.Purchase', ['Line.Amount']))
[10, 20]
于 2021-02-25T22:39:13.520 回答