次のデータを日付と時刻でソートしたいと思います。Pythonの日付と時刻による辞書値のリストの並べ替え
{'TID': 'B1', 'sno': '2', 'datetime': '04-13-12 17:21:18:83'}
{'TID': 'A1', 'sno': '4', 'datetime': '11-17-12 22:50:59:30'}
{'TID': 'A2', 'sno': '3', 'datetime': '11-17-12 22:51:00:66'}
{'TID': 'B6', 'sno': '2', 'datetime': '10-28-12 07:26:02:19'}
{'TID': 'B0', 'sno': '8', 'datetime': '02-26-16 08:13:01:30'}
{'TID': 'B4', 'sno': '8', 'datetime': '02-26-16 08:13:02:43'}
{'TID': 'C1', 'sno': '9', 'datetime': '03-08-15 17:12:55:81'}
{'TID': 'A2', 'sno': '23', 'datetime': '03-08-15 17:31:31:12'}
ソリューションは、私のために動作しませんhereとhereを提案しました。
喜が私のコードです:ここ
mylist=[]
with open(path+outfile) as fid:
for line in fid:
mylist.append(eval(line))
from operator import itemgetter
newlist = sorted(mylist, key=itemgetter('datetime'))
for item in newlist:
print(str(item))
は、上記のコードの出力です:
{'sno': '8', 'TID': 'B0', 'datetime': '02-26-16 08:13:01:30'}
{'sno': '8', 'TID': 'B4', 'datetime': '02-26-16 08:13:02:43'}
{'sno': '9', 'TID': 'C1', 'datetime': '03-08-15 17:12:55:81'}
{'sno': '23', 'TID': 'A2', 'datetime': '03-08-15 17:31:31:12'}
{'sno': '2', 'TID': 'B1', 'datetime': '04-13-12 17:21:18:83'}
{'sno': '2', 'TID': 'B6', 'datetime': '10-28-12 07:26:02:19'}
{'sno': '4', 'TID': 'A1', 'datetime': '11-17-12 22:50:59:30'}
{'sno': '3', 'TID': 'A2', 'datetime': '11-17-12 22:51:00:66'}
あなたが気付いた場合は、上記の出力は、日時順にソートされていません。
'この表記で83'' 04-13-12 17です:21:18:83'? – RomanPerekhrest
'datetime'値が正しく実行されていれば、他の解決策が有効です。 –
ソート方法がわかりません。アルファベット順にソートされています。問題は、まず月があるので、最初に日付を解析する必要があります。 –