获取有关pytables元数据的信息

时间:2013-10-11 22:28:42

标签: python pytables

有没有办法迭代表元类对象的字段? (不是表本身,我需要在表格实例化之前做一些初步分析)

我对Python中的元类并不熟悉,所以这对我来说是个神秘的东西。

class Particle(IsDescription):
    name        = StringCol(16, pos=1)   # 16-character String
    lati        = IntCol(pos=2)        # integer
    longi       = IntCol(pos=3)        # integer
    pressure    = Float32Col(pos=4)    # float  (single-precision)
    temperature = FloatCol(pos=5)      # double (double-precision)

1 个答案:

答案 0 :(得分:1)

该类的columns属性是一个列为数据类型值的键的字典。然后,您应该能像迭代任何Python字典(keys(),values(),items()等)一样迭代这个字典。

In [7]: Particle.columns
Out[7]: 
{'lati': Int32Col(shape=(), dflt=0, pos=2),
 'longi': Int32Col(shape=(), dflt=0, pos=3),
 'name': StringCol(itemsize=16, shape=(), dflt='', pos=1),
 'pressure': Float32Col(shape=(), dflt=0.0, pos=4),
 'temperature': Float64Col(shape=(), dflt=0.0, pos=5)}