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”
=======================
提供了查询由列表和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”