2016-07-04 17 views
-2

mit ein wenig Mühe, das Datum aus einer Datei von mir zu ziehen.Python Datetime strptime ValueError: stimmt nicht mit Format

Datum Strings sind im Format: "06/08/2016 # Beachten Sie die Klammer

und mein strptime Befehl lautet: date = datetime.datetime.strptime(text[0], '\"%m/%d/%Y').date()

aber ich folgendes als Fehler erhalten:

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' 

nicht sicher, was falsch. Denken Sie nicht, dass es etwas Einfaches ist, da die meisten ValueErrors mit datetime mit einem Qualifikationsjahr-Qualifikationsmerkmal (% y und% Y) verursacht werden. Hat jemand Ideen? Danke und viel Lob im Voraus! :)


Da die Antworten unten ich den Fehler wurde immer durch nicht die ‚\ Entfernen"‘im Format. Ich habe erwartet, dass ich das haben würde benötigt enthalten" Zeichen des Strings, aber anscheinend Datetime hat mir nichts ausgemacht! Danke allen!

+0

Ich denke, der Backslash ist die Funktion versauen. Versuchen Sie 'datetime.datetime.strptime (Text [0],"% m /% d /% Y "). Date()', und es sollte funktionieren! Ich bin mir auch nicht sicher, was Sie mit "Beachten Sie die Klammern" –

+0

Ja, das ist es! Die Zeichenfolge hatte eine Klammer darin, also hatte ich erwartet, dass es entgangen sein müsste, aber anscheinend nicht! –

Antwort

2

Die Fehlermeldung sagt mir, dass die Zeichenfolge Daten buchstäblich

"Date 

und nicht

"06/08/2016 

wie behauptet. Andernfalls sollte Ihr Code funktionieren.

0

Auf diese Weise?

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

Nicht genug Ruf zu kommentieren @wim Antwort, hoffe, du wirst es lesen. Es scheint mir, dass das Hauptproblem darin besteht, wie Sie sagen, ein Literal '' Date '' anstelle einer richtigen Datumszeichenkette zu übergeben. Aber ich denke, dass ein anderes Problem das Datum als Text [0] übergibt erstes Zeichen? – dido