python简单日期

dq的Python项目详细描述


DQ.py-python data query-python-dataquery
=======================
提供了查询由列表和dicts的任何组合组成的数据源的能力。





>从python内部使用:从DQ导入查询
>;从DQ导入查询('[0.0.name'.name',[{'name':'michael'},{'name':'jane'}])


“迈克尔”

>;>;gt;dq.查询('..name',[{name':'michael'},{name':'jane'}])
['michael',“jane”]
```
安装
----
安装dq:
``````
pip安装dq
````
dq不依赖于任何非标准库


查询语言
----
查询语言是[json path][1]的简化版本。选择子集
是为了允许对数据进行简单的结构查询-无筛选器或
表达式。这样可以使解析器简单明了,由于它是一个python
库,因此您可以使用python的全部功能来执行复杂的筛选。

查询语言支持以下路径语法:
```
。key-从dict返回给定的键
…key-从任何后代字典返回给定的键
[索引]-从指定位置的列表返回项index
[*]-返回列表中的所有项
[开始:停止:步骤]-对列表执行python切片操作
```


查询示例
----
可以组合这些语法项来生成复杂的查询。
``python
>;from dq import query
>;>d={}
>;>d['one']=1
>;> d['two'] = [1,2,3,4,5,6,7,8,9,10]
>>> d['three'] = [{'name': 'john'}, {'name': 'mary'}, {'one': 'guy'}]

>>> query('.one', d)
1

>>> query('.two', d)
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

>>> query('.two[1]', d)
2

>>> query('.two[*]', d)
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

>>> query('.two[2:-2]', d)
[3, 4, 5, 6, 7, 8]

>>> query('.two[1:6:2]', d)
[2, 4, 6]

>>> query('.three[1].name', d)
'mary'

>>> query('.three[*].name', d)
['john', 'mary']

>>> query('..name', d)
['john', 'mary']

>;>;查询('..one',d)
[1,'guy']
```


compiled query
—————————————————————————————————————————————————————————————————————————————————————————————————————————————————————query=compiled('[1]')
>;>;query([1,2,3,4])
2
>;>;query([5,6,7,8])
6
`````

谢谢
——
此库基于[python jsonpath rw][2]的思想和代码。

版权
——
版权所有(c)2013 michael lamb。详见license.txt。

[1]:http://goessner.net/articles/json path/“json path”
[2]:https://github.com/kennnowles/python-jsonpath-rw“python jsonpath rw”

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
命令行界面当前活跃社区中的哪个Java CLI库功能更丰富?   java如何使我的代码线程安全?   java创建有限哈希集   java JVM中可以有多少类文本实例?   乘坐请求uber java api的客户端类型?   构建后将jar添加到springboot jar类路径的java策略   未找到java Android文件txt文件异常   java如何修复“Mediaplayer mp=新Mediaplayer”。create(this,R.raw.filename.mpr)“”为create,红色为错误   java使用charAt()函数赋值给char数组时抛出错误   用Java定义公共库接口的库   无法解析方法“show(安卓.support.v4.app.FragmentTransaction,java.lang.String)”   java在程序运行时在文件中写入完整内容,但每次代码运行时都创建新文件   使用AllegroGraph RDF存储的java ObjecttoTriple映射?   Java从嵌套类返回   在java中使用Google Drive API无法获取超过100个文件   数组用java编写一个程序来打印从50到250(包括50和250)的所有数字的总和,这些数字是3的倍数,不能被9整除   java使用卷打印到屏幕的成本差异   java无法理解错误是什么