Я импортирую из CSV и получаю данные примерно в формате
{ 'Field1' : 3000, 'Field2' : 6000, 'RandomField' : 5000 }
Имена полей являются динамическими. (Ну, они динамичны в том, что может быть больше Field1 и Field2, но я знаю, что Field1
и Field2
всегда будут там.
Я бы хотел пропустить этот словарь в моем классе allMyFields
, чтобы я мог обращаться к вышеуказанным данным как к свойствам.
class allMyFields:
# I think I need to include these to allow hinting in Komodo. I think.
self.Field1 = None
self.Field2 = None
def __init__(self,dictionary):
for k,v in dictionary.items():
self.k = v
#of course, this doesn't work. I've ended up doing this instead
#self.data[k] = v
#but it not the way I want to access the data.
q = { 'Field1' : 3000, 'Field2' : 6000, 'RandomField' : 5000 }
instance = allMyFields(q)
# Ideally I could do this.
print q.Field1
Любые предложения? Что касается причин - я хотел бы иметь возможность воспользоваться подсказкой кода и импортировать данные в словарь под названием data
, как я это делал, не дает мне ничего такого.
(Поскольку имена переменных не разрешены до времени выполнения, мне все равно придется бросать кость в Комодо - я думаю, что self.Field1 = None
должно быть достаточно.)
Итак - как мне сделать то, что я хочу? Или я лаяю плохо спроектированное дерево без питона?