问题标签 [glom]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
289 浏览

python - 寻找使用 glom 获取嵌套数据的可能更好的方法?

我有一个来自系统的特别讨厌的 stats 对象,我需要从中检索数据(为简洁起见,显示了许多统计条目中的两个)。

目前我在嵌套堆栈中多次使用 .get 方法,但本周末我在 Talk Python 上听了glom 模块的作者并认为这对我来说可能是一个更清洁的解决方案。确实如此,因为这段代码使我将所有数据都放在一个循环中,而没有疯狂的 get 方法层(上图的第一个示例,我今晚正在研究)。外键是长 URL,内键是 avg/current/max/desc。

结果是我需要的数据:

也就是说,此时我并不能真正控制数据,我只是在打印它。我认为我还没有了解glom的力量,并且很好奇是否有人可以指出一个有助于我理解的例子?最终目标是将所有这些数据扁平化为包含 4 项字典的单个列表。

0 投票
1 回答
460 浏览

python - 为具有不同键的数据处理或跳过 PathError?

我正在使用 glom 包来帮助遍历一个大字典。

鉴于此数据:

并使用glom,我尝试获取实例名称:

我收到一个错误:

如何跳过instance不存在密钥的对象?

更新

我试图跳过异常,但随后收到空结果:

0 投票
1 回答
126 浏览

python - 从递归嵌套的字段列表创建部分字典

解析部分响应的 URL 参数后,例如?fields=name,id,another(name,id),date,我得到了一个任意嵌套的字符串列表,表示嵌套 JSON 对象的各个键:


目标是将已解析的键“图”映射到原始的更大的字典上,并仅检索它的部分副本,例如:

应该简单化为:


到目前为止,我已经浏览了嵌套的 defaultdictsaddictglom,但是它们作为输入的映射与我的列表不兼容(当然可能遗漏了一些东西),我最终得到了垃圾。

如何以编程方式执行此操作,并考虑可能发生的任何嵌套?

0 投票
1 回答
276 浏览

python - 在嵌套结构上使用Glom,如何将顶级字典字段移动到字典列表中?

这是一个关于Glom使用的问题(https://github.com/mahmoud/glom/

我有一本包含其他词典列表的词典。

我想使用Glom将外部的全局字典字段“日期”和“位置”移动到项目的字典列表中。

这是我试图达到的最终结果

唉,当规范到达字典的“项目”时,其他值不再可访问,而是将 T 对象设置为内部值。

返回

这是没用的。

使用常规 Python 代码更新字典并不难,但有没有办法在Glom规范中做到这一点?

0 投票
1 回答
99 浏览

python - 使用glom,如何连接可选字符串?

我有一个包含两部分名称的字典:

middleName是可选的。我需要将一个字符串映射到它们,即givenName + ' ' + middleNameifmiddleName已定义或只是firstName. 这样做的规范方法是什么glom

0 投票
1 回答
38 浏览

glom - 用glom切片水平

我有一个嵌套结构,例如

我怎样才能轻松找到第二级(熊猫术语)中具有“B2”的所有项目,即['a1b2', 'a2b2']

我试过

0 投票
0 回答
40 浏览

python - 用glom怎么说“收集所有”?

glom能够说“收集所有”的技巧是什么。

glom我的意思的一个例子:提取的方式是什么

是?

不是硬编码的speclike {'a': ..., 'b': ...},而是会“遍历所有”键(此处为第一级)的硬编码。请注意,在第二级还有一个“遍历所有”,但这里的指令是忽略密钥并只累积较低级别的产量。

这可能是另一个boltons remap需要与glom.

0 投票
1 回答
160 浏览

json - 带有记录列表的 Python glom 将常见的唯一 client_id 组合在一起作为键

我刚刚发现了glom,并且该教程很有意义,但是我无法确定用于chrome BrowserHistory.json 条目的正确规范来创建按client_id 分组的数据结构,或者这是否是glom 的正确用法。我想我可以通过循环 json 使用其他方法来完成此操作,但希望了解更多关于 glom 及其功能的信息。

json 具有 Browser_History 和每个历史条目的列表,如下所示:

我想要一个数据结构,其中所有内容都按 client_id 分组,例如将 client_id 作为 dicts 列表的键,例如:

这是glom适合的东西吗?我一直在玩它并阅读,但我似乎无法正确地完成我需要的规范。最好的我没有错误的是:

这让我得到了所有 client_ids 的列表,但我不知道如何将它们作为键组合在一起,而不是将它们作为一个大列表。任何帮助将不胜感激,谢谢!

0 投票
1 回答
45 浏览

python-3.x - 有没有一种简单的方法可以使用 glom 从字典中获取未知键?

有没有一种简单的方法可以使用 glom 从字典中获取未知键?

这 ???表示我试图从 API 捕获的随机数据

0 投票
2 回答
262 浏览

python - 使用 Glom 解析 JSON

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

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

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