For example, I have the following table description. In SpectrumL, I would like to store a (spectrogram) I do not know the exact size yet. Similarly, I would like to store some tags (which will be strings) and their size will vary by record. However, when I try to execute the build statement for this, I get the following error:
TypeError: Passing an incorrect value to a table column. Expected a Col (or subclass) instance and got: "StringAtom(itemsize=20, shape=(), dflt='')". Please make use of the Col(), or descendant, constructor to properly initialize columns.
The statement I am executing is:
h5file = tables.open_file("foo.h5", mode = "w", title = "Datastore")
group = h5file.create_group("/", 'metadata', 'General MetaData')
table = h5file.create_table(group, 'footer', hdf5Pull.BuildTable, "information")
The table statement class is:
class BuildTable(IsDescription):
artist_id = StringCol(100)
tags = StringAtom(itemsize = 20)
spectrumL = Float64Atom((5000, 1))
spectrumR = Float64Atom((5000, 1))
frequency = Float64Atom((5000, 1))
Might anyone be able to help take a look at this? I'm having a bit of trouble understanding the documentation. Thanks!