I have a python dictionary with keys in the format Aa123 and each value is a list. Now I need to store this data permanently in some format or in any database so that I can retrieve it easily. I thought JSON would be better for this and tried to store all the data in JSON format and then some application could use this file. My JSON format should be like,
[
{ "firstLetter" : "A",
"remaining" : [
{
"secondLetter" : "a",
"ID" : [
{"id" : "Aa123", "listOfItems" : ["ABC123","ASD100"]},
{"id" : "Aa100", "listOfItems" : ["ABC123","COD101"]}
]
},
{
"secondLetter" : "b",
"ID" : [
{"id" : "Ab100", "listOfItems" : ["ABC123","ASD100"]}
]
}
]
},
{ "firstLetter" : "B",
"remaining" : [
{
"secondLetter" : "a",
"ID" : [
{"id" : "Ba106", "listOfItems" : ["AUD123","CML101"]}
]
},
{
"secondLetter" : "b",
"ID" : [
{"id" : "Bb153", "listOfItems" : ["AER113","ASD100"]},
{"id" : "Bb100", "listOfItems" : ["ATC123","ASD500"]}
]
}
]
}
]
I know how to dump python dictionary into JSON, but that doesn't provide easy data query. My question is "how to store this python dictionary(that I obtained by running a python program)in required format(like the one shown above) that makes data query easy. Thanks!
It sounds like you may benefit from tinydb. It stores values directly in a JSON file and provides methods for querying.
So to store your values, we do
from tinydb import TinyDB, Query
db = TinyDB('test.json')
values = [{'firstLetter': 'A',
'remaining': [{'ID': [{'id': 'Aa123', 'listOfItems': ['ABC123', 'ASD100']},
{'id': 'Aa100', 'listOfItems': ['ABC123', 'COD101']}],
'secondLetter': 'a'},
{'ID': [{'id': 'Ab100', 'listOfItems': ['ABC123', 'ASD100']}],
'secondLetter': 'b'}]},
{'firstLetter': 'B',
'remaining': [{'ID': [{'id': 'Ba106', 'listOfItems': ['AUD123', 'CML101']}],
'secondLetter': 'a'},
{'ID': [{'id': 'Bb153', 'listOfItems': ['AER113', 'ASD100']},
{'id': 'Bb100', 'listOfItems': ['ATC123', 'ASD500']}],
'secondLetter': 'b'}]}]
for value in values:
db.insert(value)
To query, we do
>>> Q = Query()
>>> db.search(Q.firstLetter == "A")
[{'firstLetter': 'A',
'remaining': [{'ID': [{'id': 'Aa123', 'listOfItems': ['ABC123', 'ASD100']},
{'id': 'Aa100', 'listOfItems': ['ABC123', 'COD101']}],
'secondLetter': 'a'},
{'ID': [{'id': 'Ab100', 'listOfItems': ['ABC123', 'ASD100']}],
'secondLetter': 'b'}]}]
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With