from into import discover, into, resource discover(1) discover([1, 2, 3]) discover([[1, 2, 3], [4, 5, 6]]) discover([{'x': 1, 'y': 1.0}, {'x': 2, 'y': 2.0}, {'x': 3, 'y': 3.0}]) import pandas as pd df = pd.DataFrame([['Alice', 100], ['Bob', 200], ['Charlie', 300]], columns=['name', 'balance']) discover(df) # Should be 2 * int64 discover([1, 2]) discover(df) import numpy as np x = into(np.ndarray, df) discover(x) # different container, same datashape t = into('sqlite:///:memory:::mydf', df) discover(t) # different container, mostly the same datashape salaries = resource('sqlite:///data/lahman2013.sqlite::Salaries') discover(salaries) db = resource('sqlite:///data/lahman2013.sqlite') discover(db) data = [{'name': 'Alice', 'balance': 100}, {'name': 'Bob', 'balance': 200}] into(np.ndarray, data) discover(data) from into import dshape ds = dshape("2 * {balance: int64, name: string[10]}") # max length of 10 into(np.ndarray, data, dshape=ds) ds = dshape("2 * {balance: int64, name: string[10, 'ascii']}") # max length of 10 into(np.ndarray, data, dshape=ds) csv = resource('data/iris.csv') discover(csv) data = [(33.1, -89.2), (37, -141.5), (41, -120.5)] into(pd.DataFrame, data) ds = dshape('var * {lat: float64, long: float64}') into(pd.DataFrame, data, dshape=ds) ds = dshape('100 * 100 * int64') dset = resource('myfile.hdf5::/x', dshape=ds) dset import sqlalchemy as sa engine = sa.create_engine('sqlite:///data/my.db') metadata = sa.MetaData(engine) transactions = sa.Table('transactions2', metadata, sa.Column('name', sa.String), sa.Column('balance', sa.Integer), sa.Column('timestamp', sa.DateTime)) transactions.create()