python datetime 31 / Mar / 2017

时间:2017-04-28 17:14:12

标签: python python-2.7 datetime

在python中使用datetime库时我遇到了一些问题 我想将csv文件中的日期转换为日期时间而不是通常的str

date = datetime.strptime(row[0],'%d/%b/%Y') 

但是当我运行程序时出现以下错误

Traceback (most recent call last):
File "appl.py", line 16, in <module>
date = datetime.strptime(row[0],'%d/%b/%Y')
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/_strptime.py", line 325, in _strptime
(data_string, format))
ValueError: time data '31-Mar-17' does not match format '%d/%b/%Y'
你可以帮帮我吗

2 个答案:

答案 0 :(得分:1)

使用不同的格式。

  1. 破折号而不是斜线,
  2. y代替Y,beacuse Y匹配4个字符的年份。
  3. 代码:

    from datetime import datetime
    
    dashed_format = '%d-%b-%y'
    parsed_date = datetime.strptime('31-Mar-17', dashed_format)
    print(parsed_date)
    

    输出:

    2017-03-31 00:00:00
    

答案 1 :(得分:1)

  

ValueError:时间数据&#39; 31-Mar-17&#39;不符合格式&#39;%d /%b /%Y&#39;

嗯,确实,它没有。

因此,要么改变数据,要么改变格式。

您似乎打算写'%d-%b-%y'。错字?