Python- MM / DD / YY排序

时间:2018-07-09 23:14:25

标签: python python-3.x sorting date datetime

所以我收到此错误:

time data '6/28/18' does not match format '%b/%d/%y'

我有一个csv文件,其第4列包含日期,并且想要按日期对数据进行排序...有什么建议或可能的解决方案?我对Python的日期时间功能不太熟悉...

import csv
from datetime import datetime

with open('example.csv', newline='') as f:
    reader = csv.reader(f)
    data = sorted(reader, key = lambda row: datetime.strptime(row[4], '%b/%d/%y'))

print (data)

2 个答案:

答案 0 :(得分:0)

使用"%m/%d/%y"代替"%b/%d/%y"

>>> x = '6/28/18'
>>> datetime.strptime(x, '%m/%d/%y')
datetime.datetime(2018, 6, 28, 0, 0)

答案 1 :(得分:0)

您的datetime.strptime格式字符串应为'%m/%d/%y'

如果您的月份是“ Jun”之类的缩写名称,则%b选项将起作用

有关Python的日期时间格式选项的更多信息,请参见以下链接:

https://docs.python.org/2/library/datetime.html#strftime-and-strptime-behavior