[AstroPy] How can I create a VOtable from a python list?
Wed Mar 6 08:28:44 CST 2013
May I suggest to have a look at ATpy, where VOTable are natively recognized: http://atpy.github.com/ ?
BTW, I would be very grateful if both AstroPy and ATpy could merge…
Le 6 mars 2013 à 15:08, Michael Droettboom a écrit :
> The general approach you're taking here -- to create a Table and then
> convert it to a VOTable -- is the right one here. The Table class has a
> much richer set of things it can convert to and from (it's sort of our
> "hub" class for everything that's table like).
> However, I don't believe it supports construction from a list in the way
> you're trying. There is a doc page about constructing a table here,
> that may be helpful:
> That said, I tried to convert your example to the form where the Table
> is constructed from a Numpy structured array, and still ran into the
> same exception:
> from astropy import table
> from astropy.io import votable
> import numpy as np
> x = np.array(
> dtype=[('a', str), ('b', float), ('c', int), ('d', int), ('e', int), ('f', str)])
> print x.dtype
> t = table.Table(x)
> votable = votable.tree.VOTableFile.from_table(t)
> So maybe we're both still doing something wrong. I've Cc'd Tom
> Aldcroft, the primary author of the Table class, as he might have more
> On 03/04/2013 06:43 AM, Susana Sanchez wrote:
>> Hello all,
>> How can I create a VOtable from a list (a python list) of rows using astropy?
>> Reading the documentation, I found the method "from_table" of the
>> class VOTableFile, this method needs as argument an instance of the
>> class astropy.table.table.Table, so I did the following:
>> votable = VOTableFile()
>> But here I got this error:
>> /usr/local/lib/python2.6/dist-packages/numpy/ma/core.pyc in
>> __new__(cls, data, mask, dtype, copy, subok, ndmin, fill_value,
>> keep_mask, hard_mask, shrink, **options)
>> 2692 # Or assume it's a sequence of bool/int
>> 2693 except TypeError:
>> -> 2694 mask = np.array([tuple([m] * len(mdtype)) for
>> m in mask],
>> 2695 dtype=mdtype)
>> 2696 # Make sure the mask and the data have the same shape
>> TypeError: 'NoneType' object is not iterable
>> Reading the error message, I thought it could be related with the
>> mask, so I tried to create the mask of the table t (with the method
>> t.create_mask()), and then to build the VOTableFile from this table,
>> but I got the same error.
>> I would be very gratefully, If anyone can help me or give me any hint.
>> AstroPy mailing list
> AstroPy mailing list
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the AstroPy