python 使用预定义模式将dict转换为对象的简单方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 使用预定义模式将dict转换为对象的简单方法相关的知识,希望对你有一定的参考价值。
class BalanceItem(object):
_fields_map = {'id': {'raw_field': '_id'},
'tradecco': {'raw_field': 'tradeacco'},
'code': {'raw_field': 'fundid'},
# holding share
'balance': {'raw_field': 'balance'},
# disposable share
'avaliable': {'raw_field': 'avaliable'},
'market_value': {'raw_field': 'mktvalue'},
'dayprofit': {'raw_field': 'dayprofit'},
# with unprofit included
'profit': {'raw_field': 'profit'},
'unprofit': {'raw_field': 'unprofit'},
# only for ZYB products currently
'expprofit': {'raw_field': 'expprofit'},
# total yield rate
'yield_rate': {'raw_field': 'profitprop'},
'melonmd': {'raw_field': 'melonmd', 'choices': melonmd_map},
}
def __init__(self, raw_data):
self._raw_data = raw_data
for attr, opts in self._fields_map.items():
raw_field = opts['raw_field']
value = raw_data.get(raw_field, None)
choices = opts.get('choices')
if choices:
value = {'id': value, 'display': choices.get(value)}
setattr(self, attr, value)
def __nonzero__(self):
return True if self._raw_data and self.code else False
以上是关于python 使用预定义模式将dict转换为对象的简单方法的主要内容,如果未能解决你的问题,请参考以下文章
Python dict 自动将列表类型值转换为简单对象
python 将dict转换为对象
python 将对象转换为dict
python 递归地将嵌套的dicts转换为嵌套的namedtuples,为您提供类似于不可变对象文字的东西
从csv读取到数据框pandas python时,dict对象转换为字符串
python pandas数据框列转换为dict键和值