Skip to main content

wrapper around pytables/hd5f to simplify using structured data

Project description

This module removes some of the boiler-plate code required to use the excellent pytables module to save and access structured data.

Example Usage:

>>> from simpletable import SimpleTable
>>> import tables

define a table as a subclass of simple table.

>>> class ATable(SimpleTable):
...     x = tables.Float32Col()
...     y = tables.Float32Col()
...     name = tables.StringCol(16)

instantiate with: args: filename, tablename

>>> tbl = ATable('test_docs.h5', 'atable1')

insert as with pytables:

>>> row = tbl.row
>>> for i in range(50):
...    row['x'], row['y'] = i, i * 10
...    row['name'] = "name_%i" % i
...    row.append()
>>> tbl.flush()
access the entire array via the numpy array interface
>>> import numpy as np
>>> np.asarray(tbl)

there is also insert_many() method with takes an iterable of dicts with keys matching the colunns (x, y, name) in this case.

query the data (query() alias of tables’ readWhere()

>>> tbl.query('(x > 4) & (y < 70)') #doctest: +NORMALIZE_WHITESPACE
array([('name_5', 5.0, 50.0), ('name_6', 6.0, 60.0)],
      dtype=[('name', '|S16'), ('x', '<f4'), ('y', '<f4')])

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

simpletable-0.2.tar.gz (3.0 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page