如何按日期时间对具有唯一元素的数组进行排序 (Python)
How to sort array with unique elements by datetime (Python)
所以我的问题是我将 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()
函数对日期时间进行排序的解决方案,但是 none 示例中的其他数组列具有其他值。
感谢您的帮助!
您可以使用
按第二个元素(您的日期时间)排序
A.sort(key=lambda i: i[1])
这是假设您要按字符串而不是实际日期排序。否则,请查看 mgilson 的回答。
首先,您可能希望能够从用于比较目的的字符串构造日期时间对象:
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)
所以我的问题是我将 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()
函数对日期时间进行排序的解决方案,但是 none 示例中的其他数组列具有其他值。
感谢您的帮助!
您可以使用
按第二个元素(您的日期时间)排序A.sort(key=lambda i: i[1])
这是假设您要按字符串而不是实际日期排序。否则,请查看 mgilson 的回答。
首先,您可能希望能够从用于比较目的的字符串构造日期时间对象:
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)