如何使用datetime(Python)对具有唯一元素的数组进行排序

时间:2015-04-13 21:39:18

标签: python datetime python-3.x multidimensional-array sorted

所以我的问题是我将excel文件导出为csv文件。我已将文件导入Python并将其添加到矩阵中,如下所示:

A = [[1, '13/04/2015 12:22:45'],
     [2, '13/04/2015 12:22:46'],
     [3, '12/04/2015 12:30:00']]

我想按日期和时间对此进行排序。我找到了几个使用内置sorted()函数对日期时间进行排序的解决方案,但是没有一个示例具有包含其他值的其他数组列。

感谢您的帮助!

2 个答案:

答案 0 :(得分:3)

首先,您可能希望能够从用于比较目的的字符串构造datetime对象:

import datetime
def make_datetime(lst):
    date_str = lst[1]
    return datetime.datetime.strptime(date_str, '%d/%m/%Y %H:%M:%s')

现在您可以将其用作排序功能的关键:

sorted_A = sorted(A, key=make_datetime)

答案 1 :(得分:0)

您可以使用

按第二个元素(您的日期时间)排序
A.sort(key=lambda i: i[1])

这假设您要按字符串排序,而不是按实际日期排序。否则,请看一下 mgilson 的回答。