1. 第一种 表头是 站点,时间,值1,值二形式
后台组数据类型,站点-》时间-》值
dic={} #组 时间=》值object 对
keys=["v1","v2","v3"]
for d in data:
sid = d.get("sid")#站点或叫类目
t = d.get("dt")
if dic.get( t) is None:
dic[t]={ sid:sid,t:t}
for k,v in d.items():
if k in keys:
dic[t][k] = v
rows=dic.values()
rows.sort(key=lambda x:x.get(t))
或者,属性值v1,v2,v3在其他几个集合数据源中,则循环其他数据源,组好dic模型既可
这里,其它把站点也看成了其中一个特殊的值,如果表头按站点(类目)再分,可进一步建二级字典sid={}
既 dic[t][sid]={}形式
-----------------------------------------------------------------------------------------
2. 第二种 表头是 站点 时间1,时间2,时间3.。。。形式,单一值在不同时间维度的展示
dic={}
for d in data:
sid = d.get("sid")
t = d.get("dt")
if dic.get(sid) is None:
dic[sid]={sid:sid}
dic[sid][t]=d.get("v")
rows = dic.values()
rows.sort(key=lambda x:x.get("sid")
------------------------------------------------------------------------------------------------
#从上面可以看出,若以时间为行的主键,则建立时间数据字典 ,
若以站点为行的主键,则建立站点为主键的数据字典,
谁是主键,咱们就建它。