var start ="2012-01-14 10:30:00"; var end ="2015-06-26 10:00:00";
という2つの変数があり、このstart変数~end変数までの間で
df辞書の2番目の要素を絞りたい。
{'A':[{'a1':10,'a2':'2009-04-26 10:14,49'},{'a1':10,'a2':'2015-12-16 17:32:40'}],'B':[{'a1':40,'a2':'2010-06-01 04:38:49'},{'a1':30,'a2':'2011-08-23 17:17:24'},{'a1':30,'a2':'2014-03-25 09:39:59'},'C':[{'a1':30,'a2':'2014-11-21 04:16:37']}
というdf変数がある。
df={'A':[{'a1':10,'a2':'2009-04-26 10:14:49'},{'a1':10,'a2':'2015-12-16 17:32:40'}],'B':[{'a1':40,'a2':'2010-06-01 04:38:49'},{'a1':30,'a2':'2011-08-23 17:17:24'},{'a1':30,'a2':'2014-03-25 09:39:59'},'C':[{'a1':30,'a2':'2014-11-21 04:16:37']} var start ="2012-01-14 10:30:00"; var end ="2015-06-26 10:00:00"; var result=JSON.parse(JSON.stringify(df)).filter(function(x){ return x[2]>=start && x[2]<=end; }).sort(function(x,y){ return x[2]==y[2]?0:(x[2]<y[2]?1:-1); });
と前回の質問https://teratail.com/questions/127327 と同じようにコードを書いたがdfが辞書のためうまくいかなかった。
理想のアウトプットは、result変数に
{'B':[{'a1':30,'a2':'2014-03-25 09:39:59'}],'C':[{'a1':30,'a2':'2014-11-21 04:16:37']}
と格納されることである。
辞書の時はどのように直せばいいのか?何が間違っているのか?
回答2件
あなたの回答
tips
プレビュー