h5fromtxt takes a series of numbers from standard input and outputs a
multi-dimensional numeric dataset in an HDF5 file.
HDF5 is a free, portable binary format and supporting library developed
by the National Center for Supercomputing Applications at the University
of Illinois in Urbana-Champaign. A single
h5 file can contain multiple data sets; by default,
h5fromtxt creates a dataset called "data", but this can be changed via the
-d option, or by using the syntax HDF5FILE:DATASET. The
-a option can be used to append new datasets to an existing HDF5 file.
All characters besides the numbers (and associated decimal points,
etcetera) in the input are ignored. By default, the data is assumed
to be a two-dimensional MxN dataset where M is the number of rows
(delimited by newlines) and N is the number of columns. In this case,
it is an error for the number of columns to vary between rows. If M
or N is 1 then the data is written as a one-dimensional dataset.
Alternatively, you can specify the dimensions of the data explicitly
size option, where
size is e.g. "2x2x2". In this case, newlines are ignored and the data is
taken as an array of the given size stored in row-major ("C") order
(where the last index varies most quickly as you step through the
data). e.g. a 2x2x2 array would be have the elements listed in the
order: (0,0,0), (0,0,1), (0,1,0), (0,1,1), (1,0,0), (1,0,1), (1,1,0),
A simple example is:
which reads in a 2x4 space-delimited array from standard input.
h5fromtxt foo.h5 <<EOF
1 2 3 4
5 6 7 8