A data structure for quickly dealing with nested data in different formats
Project description
QueryTree
QueryTree is a python data structure that lets you quickly access deeply nested data and load/save it in any major format.
With QueryTree, you don't have to check for the esistance of (or create) any intermediate nodes.
json_str = """
{
"foo": {
"bar": [
{
"baz": {
"n": 1
}
},
{
"baz": {
"n": 1
},
"buz": {
"k": 2
}
}
]
}
}
"""
tree = Tree.parse_json(json_str)
print(tree['foo.bar.0.baz.n']) # 1
print(tree['foo.bar.1.buz.k']) # 2
# accessing nonexistant locations isn't a problem
print(tree['foo.bar.0.buz.k']) # None
print(tree['something.else']) # None
# assign values
tree['foo.bar.0.baz.n'] = 99
tree['foo.foo'] = {"myvalue": "a value"}
# save as any format
print(tree.to_yaml())
Outputs:
foo:
bar:
- baz:
n: 99
- baz:
n: 1
buz:
k: 2
foo:
myvalue: a value
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
querytree-0.1.1.tar.gz
(8.5 kB
view hashes)
Built Distribution
Close
Hashes for querytree-0.1.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d235197b46389773c67e40e9e7b3dbf66014048b5bf71d30acf39cc6d34dacb4 |
|
MD5 | e047687497eff07ff8b8fcc25c1d85fc |
|
BLAKE2b-256 | 12fd6e104e9d78f09f5c594c82a6b3f29467e63605a6cb5eb2d8b5487b59d1fa |