Python 之glom的多种数据套嵌处理

Posted 居安思危

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 之glom的多种数据套嵌处理相关的知识,希望对你有一定的参考价值。

glom的数据处理

glom广泛地介绍了日常数据和对象操作,帮助您开始着眼于编写健壮的声明性数据转换每个应用程序都处理数据,而现在,即使是最简单的应用程序也会处理丰富的,大量嵌套的数据

1.字典套字典

#目的获取字典c的数据

jvmdata={a: {b: {c: d}}}

print("打印结果是",glom(jvmdata,‘a.b.c‘))

打印结果是:d

target = {‘galaxy‘: {‘system‘: {‘planet‘: ‘jupiter‘}}}
spec = ‘galaxy.system.planet‘
print(glom(target, spec))

打印结果:jupiter
 

 

2. 字典套列表获取数据

target = {system: {planets: [{name: earth}, {name: jupiter}]}}
spec =system.planets
print(glom(target,(spec,[name])))

[‘earth‘, ‘jupiter‘]

 

3.类似数据重组

字典套列表套字典

需求:获取names和moons的数据后重新组成字典对应列表的格式

换个角度思考 target是orm获取的数据需要重新组成新的数据

 

target = {system: {planets: [{name: earth, moons: 1},
                              {name: jupiter, moons: 69}]}}

spec={"names":(system.planets, [name]),
      "moons":(system.planets, [moons])}
print(glom(target,spec))

{moons: [1, 69], names: [earth, jupiter]}

 

4.glom的可以使用一些方法和函数 sum 求和

target = {system: {planets: [{name: earth, moons: 1},
                                  {name: jupiter, moons: 69}]}}
 
print glom(target, {moon_count: (system.planets, [moons], sum)})

# {‘moon_count‘: 70}

 

写的不好,还望会的同学不吝赐教啊















以上是关于Python 之glom的多种数据套嵌处理的主要内容,如果未能解决你的问题,请参考以下文章

Python 多种算法模型对比

linux signal

对象内部套嵌多个对象

在 Python 多处理进程中运行较慢的 OpenCV 代码片段

Java编程思想之二十 并发

你如何在 python 中处理 graphql 查询和片段?