我有来自 MongoDB 游标的数据转储,例如示例:
>>> json_list
[{u'rDate': u'05/04/2009', u'_id': ObjectId('56c20bf2dc5e3753986b5564')},
{u'rDate': u'06/09/2009', u'_id': ObjectId('56c20be5dc5e3753986b5563')},
{u'rDate': u'12/08/2008', u'_id': ObjectId('56c20bf2dc5e3753986b5566')},
{u'rDate': u'12/21/2008', u'_id': ObjectId('56c20bf2dc5e3753986b5565')}]
Python 有没有办法按日期升序对它们进行排序?就像示例中一样,生成的排序列表将是:
>>> json_list
[{u'rDate': u'12/08/2008', u'_id': ObjectId('56c20bf2dc5e3753986b5566')},
{u'rDate': u'12/21/2008', u'_id': ObjectId('56c20bf2dc5e3753986b5565')},
{u'rDate': u'05/04/2009', u'_id': ObjectId('56c20bf2dc5e3753986b5564')},
{u'rDate': u'06/09/2009', u'_id': ObjectId('56c20be5dc5e3753986b5563')}]
我已经查看了大多数相关示例,但它们的日期格式如 "update_time": "1415387875"
这不是我的情况。欢迎任何帮助。
谢谢!
最佳答案
您输入的日期有误:2014 年 2 月 31 日(2 月 31 日)。这是不可能的
您可以像这样对正确的日期进行排序:
from datetime import datetime
json_list = [{'id' : 5461, 'date': '02/14/2009'},
{'id' : 5217, 'date': '09/25/2002'},
{'id' : 5913, 'date': '02/28/2014'},
{'id' : 5132, 'date': '01/07/2005'}]
sorted_date = sorted(json_list, key=lambda x: datetime.strptime(x['date'], '%m/%d/%Y'))
print sorted_date
关于Python:按 mm/dd/yyyy 日期对 JSON 列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35437516/