Usage examples
Dump and load a pandas dataframe
import logging
logging.basicConfig(format='%(asctime)s %(levelname)s:%(message)s', level=logging.WARNING, datefmt='%I:%M:%S')
import os
import sys
import numpy as np
import pandas as pd
import sdata
print("sdata v{}".format(sdata.__version__))
# ## create a dataframe
df = pd.DataFrame({"a":[1.,2.,3.], "b":[4.,6.,1.]})
# ## create a Data object
data = sdata.Data(name="df",
uuid=sdata.uuid_from_str("df"),
table=df,
description="a pandas dataframe",)
# ## dump the data
# ### Excel IO
data.to_xlsx(filepath="/tmp/data1.xlsx")
data_xlsx = sdata.Data.from_xlsx(filepath="/tmp/data1.xlsx")
assert data.name==data_xlsx.name
assert data.uuid==data_xlsx.uuid
assert data.description==data_xlsx.description
print(data_xlsx)
data_xlsx.df
# ### Hdf5 IO
data.to_hdf5(filepath="/tmp/data1.hdf")
data_hdf5 = sdata.Data.from_hdf5(filepath="/tmp/data1.hdf")
assert data.name==data_xlsx.name
assert data.uuid==data_xlsx.uuid
assert data.description==data_hdf5.description
print(data_hdf5)
data_hdf5.df
# ### Json IO
data.to_json(filepath="/tmp/data1.json")
data_json = sdata.Data.from_json(filepath="/tmp/data1.json")
assert data.name==data_json.name
assert data.uuid==data_json.uuid
assert data.description==data_json.description
print(data_json)
data_json.df
# ### csv IO
data.to_csv(filepath="/tmp/data1.csv")
data_csv = sdata.Data.from_csv(filepath="/tmp/data1.csv")
assert data.name==data_csv.name
assert data.uuid==data_csv.uuid
# assert data.description==data_csv.description
assert data.df.shape == data_csv.df.shape
print(data_csv)
data_csv.df
# ### html export
data.to_html(filepath="/tmp/data1.html")
Components of sdata.Data
# ## create a Data object
data = sdata.Data(name="df",
table=pd.DataFrame({"a":[1.,2.,3.], "b":[4.,6.,1.]}),
description="a pandas dataframe",)
# Metadata
data.metadata
# Dataframe
data.df
# Description
data.description