2016-03-23 13 views
0

Ich habe eine .csv-Datei mit einer Spalte, die Daten haben, die wie folgt aussehen "2/15/2016 1:44:00 PM", läuft in folgenden Fehler mit dem Code unten ... kann jemand Input geben, was falsch ist?Python-strptime ValueError nicht konvertierte Daten bleiben:: 00

Code: -

import csv 
import datetime as dt 
import os 

File = 'C:/Users/Alan Cedeno/Desktop/Test_Folder/HiSAM1_data_160215_164858.csv' 
root, ext = os.path.splitext(File) 
output = root + '-new.csv' 
with open(File,'r') as csvinput,open(output, 'w') as csvoutput: 

    writer = csv.writer(csvoutput, lineterminator='\n') 
    reader = csv.reader(csvinput) 

    all = [] 
    row = next(reader) 
    for line in reader: 
     row.append(dt.datetime.strptime(line[0],'%m/%d/%Y %H:%M').time()) 
     all.append(row) 

    for row in reader: 
     row.append(row[0]) 
     all.append(row) 

    writer.writerows(all) 

ERROR -

ValueError        Traceback (most recent call last) 
c:\users\alance~1\appdata\local\temp\tmpujjfa2.py in <module>() 
    14   row = next(reader) 
    15   for line in reader: 
---> 16    row.append(dt.datetime.strptime(line[0],'%m/%d/%Y %H:%M')) 
    17    all.append(row) 
    18 

C:\Users\Alan Cedeno\AppData\Local\Enthought\Canopy\App\appdata\canopy- 1.6.1.3253.win-x86_64\lib\_strptime.pyc in _strptime(data_string, format) 
    326  if len(data_string) != found.end(): 
    327   raise ValueError("unconverted data remains: %s" % 
--> 328       data_string[found.end():]) 
    329 
    330  year = None 

ValueError: unconverted data remains: :00 

Hier ist ein Screenshot des Data-

enter image description here

Antwort

1

Nach den Angaben in der Frage und der Zurückverfolgungs In Kommentaren angegeben, ist Ihre Datetime Format Zeichenfolge unvollständig - fehlende se Conds, sollte sein:

%m/%d/%Y %H:%M:%S 
+0

Ich habe es versucht und es gab mir diesen ValueError: Zeitdaten '2/15/2016 13:44:00' stimmt nicht überein '% m /% d /% Y% H:% M: S% p ' Ich habe die Frage mit einem Bild der Daten aktualisiert. – dontbadick

+0

@AlanCedeno beobachten Sie das '%' vor dem 'S'. – alecxe

+0

jetzt gibt es mir diesen Fehler ValueError: Zeitdaten '2/15/2016 13:44:00' stimmt nicht mit dem Format '% m:% S%%' – dontbadick

Verwandte Themen