如何解决使用 Glom 解析 JSON
我正在尝试解析一个 JSON 对象,但很难以一种可以与另一个 df 合并的方式访问一个值。该值的路径是:QueryResponse.Purchase[0].Line[0].Amount
这个规范会给我第一个值:
glom(data,('QueryResponse.Purchase',['Line'],(['0'],['Amount'])))
但不是包含在另一个 Amounts
中的 Lines
。我可以访问其他 Amount
值,但后来无法弄清楚如何将其与包含 Purchase
级别的值的 df 合并
解决方法
基于Glom Tutorial,在glom方法中使用之前需要指定“数据”。
示例(来自该站点):
from glom import glom
# Basic deep get
data = {'a': {'b': {'c': 'd'}}}
print(glom(data,'a.b.c'))
就您而言,您还需要在顶部导入 Json(但您可能已经这样做了)。
,如果没有数据示例,帮助解决这个问题有点困难。
但是,假设您的数据如下所示:
data = {"QueryResponse":
{"Purchase": [
{"Line": {"Amount": 10}},{"Line": {"Amount": 20}}
]
}
}
然后从每个 Amount
条目中获取所有 Line
值的查询会将所需值的完整路径放入列表中。
>>> glom(data,('QueryResponse.Purchase',['Line.Amount']))
[10,20]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。