我试图从CSV文件转换日期时间,并将其解析为组件的日期和时间方面。 ' 11/06/2017 17:59'应该成为' 11/06 / 2017'和' 59'分别。
到目前为止,我得到的是:
Date = datetime.strptime(row['Date'],"$m/%d/%y %H:%M")
Date = datetime.strftime(oldDate, "%m/%d/%Y")
Time = datetime.strftime(oldDate, "%H:%M")
当我运行它虽然它错误地说" ValueError:时间数据' 11/06/2017 17:59'不符合格式' $ m /%d /%y%H:%M'"看起来它的格式相同。我错过了什么吗?
答案 0 :(得分:1)
正确的格式是%m/%d/%Y %H:%M
(注意,没有$
,Y
大写以表示4位数的年份格式。
In [4]: datetime.strptime('11/06/2017 17:59',"%m/%d/%Y %H:%M")
Out[4]: datetime.datetime(2017, 11, 6, 17, 59)
有关各种合法日期时间格式的详细信息,请访问datetime
documentation.
对于您的第二位,请使用dt.date
和dt.time
来抓取各个组件。
In [5]: d.date()
Out[5]: datetime.date(2017, 11, 6)
In [6]: d.time()
Out[6]: datetime.time(17, 59)
对于人类可读的输出,您可以在结果之后调用str
。