Создание свойств экземпляра класса из словаря?
Я импортирую из 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's 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
должно быть достаточно.)
Итак - как мне делать то, что я хочу? Или я лаю плохо спроектированное, не питонское дерево?