2016-03-23 7 views
0

У меня есть .csv-файл со столбцом, который имеет даты, которые выглядят как «2/15/2016 1:44:00 PM», я столкнулся с следующей ошибкой с кодом ниже ... может ли кто-нибудь дать информацию о том, что не так?Python-strptime ValueError unconverted data остается:: 00

КОД: -

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 

Вот скриншот Данные-

enter image description here

ответ

1

Согласно информации, в этом вопросе и TRACEBACK данный в комментариях, ваша строка формата даты и времени является неполной - отсутствует se conds, должно быть:

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

Я пробовал, и это дало мне этот ValueError: данные времени '15.02.2012 13:44:00' не соответствует формату '% m /% d /% Y% H:% M: S% p ' Я обновил вопрос с изображением данных. – dontbadick

+0

@AlanCedeno смотреть '%' перед 'S'. – alecxe

+0

теперь он дает мне эту ошибку ValueError: данные времени '2/15/2016 13:44:00' не соответствует формату '% m /% d /% Y% H:% M:% S% p' – dontbadick