2016-07-04 92 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