[AstroPy] PyFITS: Appending tables with variable length array...?
ubutsu at gmail.com
Fri May 6 13:11:50 EDT 2011
Hi there. I'm trying to do something simple with PyFITS, appending
tables but running into a problem.
The manual provides a general procedure for tables with no varlen
arrays, which I mostly follow in the code snippet below.
import pyfits as pf
t1 = pf.open(fits1)
t2 = pf.open(fits2)
nr1 = t1.data.shape
nr2 = t2.data.shape
nr = nr1 + nr2
hdu = pf.new_table(t1.columns, nrows=nr)
for i in range(len(t1.columns)):
if i == 4:
# this is a variable length array column; need to
# work on row by row
for j, x in enumerate(t2.data.field(i)):
hdu.data.field(i)[nr1+j] = x
# for non variable length column, this is fine
hdu.data.field(i)[nr1:] = t2.data.field(i)
The conditional was added to take care of a variable length array
column (#5). But this doesn't work...
So my question is, how do we do this? Is it at all possible to update
values in a varlen array column? Is my only option to create a new
table from scratch?
Thank you for your time,
More information about the AstroPy