Q:

How do I write a 3d astropy table to a file

I have a 3d astropy table which I'd like to write to a file. 
I created it by converting a 3d numpy array to an astropy table and adding some column names.
Here is an example output of my table. The arrays within each column of each row denote the third dimension. 
       m_star [14]               m_bh [14]         ... exit_flag [14]
         float64                  float64          ...    float64    
------------------------- ------------------------ ... --------------
3.9782e+32 .. 2.18801e+33 1.9891e+36 .. 1.9891e+38 ...     0.0 .. 0.0
3.9782e+32 .. 2.18801e+33 1.9891e+36 .. 1.9891e+38 ...     0.0 .. 0.0
3.9782e+32 .. 2.18801e+33 1.9891e+36 .. 1.9891e+38 ...     0.0 .. 0.0
3.9782e+32 .. 2.18801e+33 1.9891e+36 .. 1.9891e+38 ...     0.0 .. 0.0
3.9782e+32 .. 2.18801e+33 1.9891e+36 .. 1.9891e+38 ...     0.0 .. 0.0
3.9782e+32 .. 2.18801e+33 1.9891e+36 .. 1.9891e+38 ...     6.0 .. 6.0

The way that I write a 2d astropy table to a file is 
param_table.write(param.txt, format='ascii')

But when I try to write a 3d astropy table to a file , I receive the error:
Traceback (most recent call last):
  File "/Users/astromonerd/HLX1/src/make_dat.py", line 86, in <module>
    dat_table.write(run_dir + '/' + 'dat.txt', format='ascii')
  File "/usr/local/lib/python2.7/site-packages/astropy/table/table.py", line 1906, in write
    io_registry.write(self, *args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/astropy/io/registry.py", line 374, in write
    writer(data, *args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/astropy/io/ascii/connect.py", line 29, in write_asciitable
    return write(table, filename, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/astropy/io/ascii/ui.py", line 458, in write
    writer.write(table, output)
  File "/usr/local/lib/python2.7/site-packages/astropy/io/ascii/fastbasic.py", line 125, in write
    self._write(table, output, {})
  File "/usr/local/lib/python2.7/site-packages/astropy/io/ascii/fastbasic.py", line 139, in _write
    writer.write(output, header_output, output_types)
  File "astropy/io/ascii/cparser.pyx", line 986, in astropy.io.ascii.cparser.FastWriter.write (astropy/io/ascii/cparser.c:17696)
TypeError: unhashable type: 'list'

The point is to be able to read the file in by another module and retrieve the astropy table. 

A:

I was able to do this using the hdf5 format:
param_table.write(param.h5, format='hdf5')

