存储具有多个字典的多行的值

时间:2018-03-05 20:50:52

标签: python

我正在尝试通过编写一个能够不断从冷却机读取温度更新的程序帮助朋友

代码应通过冷却机数据来记录温度。 定期打印以下数据: 每台机器的最高温度,最低温度,最高温度 总体上排名前5位。

以下格式每5分钟收到一次tempinput。 出于解释目的,我在此代码中添加了第二行临时输入(5分钟后收到)。

tempinput = [
{
"Machine":"Cool-01",
"Date":"01/01/2018",
"Time":"12:25:00", 
"CurrTemp":"23.52"},
{"Machine":"Cool-02",
"Date":"01/01/2018",
"Time":"12:25:00", 
"CurrTemp":"22.02"}
]
#tempinput = [
#{
#"Machine":"Cool-01",
#"Date":"01/01/2018",
#"Time":"12:30:00", 
#"CurrTemp":"23.50"},
#{"Machine":"Cool-02",
#"Date":"01/01/2018",
#"Time":"12:30:00", 
#"CurrTemp":"22.12"}
#]

键=机器。 然后,我想以每台机器的值保存每台机器最后2小时的值(= 24个读数)。 在前24个读数和分配之后,我希望系统“删除”最早存储的值(基于索引不及时,因为这有时是“关闭”)然后将其他23行放在梯子下面并填充删除了最新值...

我真的很难如何存储如上所述的数据。在'for key in dict_in_list'之后,我迷路了(不知道如何继续)。我无法理解每台机器存储24行数据。我希望有人可以指出我正确的方向,我的问题没有降级(我搜索了整个Stackoverflow网站,找不到任何我理解/反映我的请求的例子)。提前谢谢。

  for dict_in_list in tempinput:
      for key in dict_in_list:
        .....here i am stuck; tried a lot of ways but nothing works

1 个答案:

答案 0 :(得分:0)

“机器”不是唯一的关键。 “日期”和“时间”等也是关键。 我建议你启动一个24个dicts的列表(一个dict是一个完整的读数)并循环遍历那些,填入它们直到最后一个,然后再次从头开始。 所以你只需要第一个for循环。