Python Forum
Saving and loading many records
Thread Rating:
  • 2 Vote(s) - 4 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Saving and loading many records
#2
I never use pickle,json is a better choice.
But for this a database is better.
dataset is easy,i have a tutorial here
So could look like this for your task.
>>> import dataset
>>> db = dataset.connect('sqlite:///cartoon.db')
>>> table = db['cartoon']
>>> r1 = { "studentld": 50, "firstname": 'Homer', "lastname": 'Simpson'}
>>> r2 = { "studentld": 100, "firstname": 'Clark', "lastname": 'Superman'}
>>> table.insert(r1)
1
>>> table.insert(r2)
2

# look at db
>>> [user for user in db['cartoon']]
[OrderedDict([('id', 1), ('studentld', 50), ('lastname', u'Simpson'), ('firstname', u'Homer')]),
OrderedDict([('id', 2), ('studentld', 100), ('lastname', u'Superman'), ('firstname', u'Clark')])]

# Find one
>>> homer = john = table.find_one(firstname='Homer')
>>> homer
OrderedDict([('id', 1), ('studentld', 50), ('lastname', u'Simpson'), ('firstname', u'Homer')])

# SQL queries
>>> [i for i in db.query("SELECT MAX(studentld) FROM cartoon")]
[OrderedDict([(u'MAX(studentld)', 100)])]
Freeze to json.
result = db['cartoon'].all()
dataset.freeze(result, format='json', filename='cartoon.json')

# Read json
>>> import json
>>> with open('cartoon.json') as j:
...     result = json.load(j)
...     
>>> result
{u'count': 2,
u'meta': {},
u'result': [{u'firstname': u'Homer',
               u'id': 1,
               u'lastname': u'Simpson',
               u'studentld': 50},
              {u'firstname': u'Clark',
               u'id': 2,
               u'lastname': u'Superman',
               u'studentld': 100}]}
Reply


Messages In This Thread
Saving and loading many records - by Steve2017 - Jun-04-2017, 11:45 AM
RE: Saving and loading many records - by snippsat - Jun-04-2017, 11:08 PM
RE: Saving and loading many records - by Steve2017 - Jun-05-2017, 08:05 AM

Possibly Related Threads…
Thread Author Replies Views Last Post
  saving and loading text from the clipboard with python program MaartenRo 2 1,835 Jan-22-2022, 05:04 AM
Last Post: MaartenRo

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020