-3

所以我收到了这个错误:

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)
4

2 回答 2

0

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

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

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

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

于 2018-07-09T23:40:45.770 回答
0

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

>>> x = '6/28/18'
>>> datetime.strptime(x, '%m/%d/%y')
datetime.datetime(2018, 6, 28, 0, 0)
于 2018-07-09T23:37:21.750 回答