2016-07-04 64 views
-2

从我的文件中拉出日期时有点麻烦。Python日期时间strptime ValueError:不匹配格式

日期字符串的格式为:"06/08/2016#注意括号

和我的strptime命令是:date = datetime.datetime.strptime(text[0], '\"%m/%d/%Y').date()

但我得到的错误如下:

Traceback (most recent call last): 
    File "budget.py", line 20, in <module> 
    print datetime.datetime.strptime(text[0], "\"%m/%d/%Y") 
    File "/usr/local/lib/python2.7/_strptime.py", line 325, in _strptime 
    (data_string, format)) 
    ValueError: time data '"Date' does not match format '"%m/%d/%Y' 

不知道什么错误。不要认为它很简单,因为大多数带日期时间的ValueErrors都是由不匹配的年限定符(%y和%Y)引起的。有人有主意吗?提前感谢和赞美! :)


由于答案低于不删除“\我得到错误“”中的格式。我期待,我会需要包括”字符串的标志,但显然日期时间不介意!谢谢大家!

+0

我认为反斜杠弄乱了函数。尝试'datetime.datetime.strptime(text [0],“%m /%d /%Y”)。date()',它应该工作! 我也不确定你的意思是“注意括号” –

+0

是的,就是这样!字符串中有一个括号,所以我期待它需要被转义,但显然不是! –

回答

2

错误消息告诉我,你的字符串数据是一个名副其实

"Date 

,而不是

"06/08/2016 
权利

。否则,你的代码应该工作。

0

这样?

text = '"06/08/2016' 
format = '"%m/%d/%Y' 
date = datetime.datetime.strptime(text, format).date() 
+0

没有足够的声望评论@wim答案,希望你会读它。在我看来,主要问题就像你说的那样,传递一个字面'Date'而不是一个合适的日期字符串。但是我认为其他问题可能会将日期作为文本[0]传递。第一个字符? – dido