所以我收到此错误:
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)
答案 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