`nbdev` Example function.
1.0 Generate Db
Initialise database with generate_db call.
Generate empty db object with arbitary columns.
df = generate_db(cols=['c1', 'c2', 'c3'])
df.head()
Generate db with some example data.
df = generate_db(prefill=True)
df.head()
df = generate_db(cols='name mood message'.split())
# ================================================================ #
data = {'name':'George', 'mood': '👹', 'message':'hi'}
df = insert_row(df, data)
# ================================================================ #
display(df)
First, a helper function to clean up timestamp calls.
df = generate_db(cols='name mood message'.split())
# ================================================================ #
data = {'name': ['Sam', 'Grant'],
'mood': ['😊', '😵'],
'message': ['hello from London, UK', 'hello from Christchurch, NZ'],
'time_utc' : [utc_now(), utc_now()]}
df = insert_rows(df, data)
# ================================================================ #
display(df)
Add another entry to the bottom of the database using insert_row().
Note: Data columns from dictionary do not need to be in pre-defined order.
data = {'time_utc' : utc_now(),
'name': 'Luke',
'mood': '👹',
'message': 'hello from London, UK'}
df = insert_row(df, data)
display(df)
data = {'name':'Bill', 'mood': '👹', 'message':'hi', 'time_utc':arrow.utcnow().format('YYYY-MM-DD HH:mm:ss')}
df = insert_row(df, data)
display(df)
data = {'name':'Luke',
'mood': '😊',
'message': 'hello, from UK',
'time_utc': utc_now()}
df = insert_row(df, data)
readable_df(df, max_rows=10)
data = {'name': ['Sam', 'Grant'],
'mood': ['😊', '😵'],
'message': ['hi', 'hello'],
'time_utc' : [arrow.utcnow().format('YYYY-MM-DD HH:mm:ss'),
arrow.utcnow().format('YYYY-MM-DD HH:mm:ss')]}
df = Prodb(data)
df.prodb_generate(dbpath='db.csv')
df = df.prodb_insert({'name':'George', 'mood': '👹', 'message':'hi'})
df.prodb_summary()
data = {'name': ['Multiple', 'Rows'],
'mood': ['😊', '😵'],
'message': ['hello', 'hello'],
'time_utc' : [utc_now(), utc_now()]}
df = df.prodb_insert(data)
df.prodb_summary()
%%time
for i in range(10):
df = df.prodb_insert(data)
df.prodb_summary()