получить информацию о метаданных 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)

person Jason S    schedule 11.10.2013    source источник


Ответы (1)


Атрибут столбцов в классе представляет собой словарь именованных ключей столбцов для значений типа данных. Затем вы сможете перебирать этот словарь, как любой словарь 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)}
person Anthony Scopatz    schedule 12.10.2013