[AstroPy] Convert FITS header into astropy Table entries?
Jason Tumlinson
tumlinson at stsci.edu
Wed Aug 19 10:00:36 EDT 2015
Hi,
I am trying to harvest the information from a large number of FITS headers, parse them and do statistics on values, in an efficient manner. I read in each header in the usual fashion:
h = fits.open('lbiy83i0q_x1d.fits’)
h0 = h[0].header
My goal then is to get all the header info into an astropy Table such that the table columns are given by the header keys and the values in the rows are given by the values in each of 100+ headers. I tried this:
In [38]: t = Table(rows=h0.values(), names=h0.keys())
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-38-8a0ece2925d5> in <module>()
----> 1 t = Table(rows=h0.values(), names=h0.keys())
/Users/tumlinson/Ureka/python/lib/python2.7/site-packages/astropy/table/table.pyc in __init__(self, data, masked, names, dtype, meta, copy, rows)
240 data = rows
241 else:
--> 242 rec_data = recarray_fromrecords(rows)
243 data = [rec_data[name] for name in rec_data.dtype.names]
244
/Users/tumlinson/Ureka/python/lib/python2.7/site-packages/astropy/table/np_utils.pyc in recarray_fromrecords(rec_list)
604 # to column arrays in the recarray module; it could be there is a better
605 # way
--> 606 nfields = len(rec_list[0])
607 obj = np.array(rec_list, dtype=object)
608 array_list = [np.array(obj[..., i].tolist()) for i in range(nfields)]
TypeError: object of type 'bool' has no len()
to no avail. Is this possible, easy, or wrongheaded? Advise appreciated.
Thanks,
JT
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/astropy/attachments/20150819/a359b4c7/attachment.html>
More information about the AstroPy
mailing list