Pythonのstrptimeエラー

私は次のエラーで壁に頭を叩いていました:

time
Traceback (most recent call last):
  File "csvtest.py", line 37, in 
    date = time.strptime(datestring, "%Y-%m-%d %H:%M:%s")
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/_strptime.py", line 454, in _strptime_time
    return _strptime(data_string, format)[0]
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/_strptime.py", line 325, in _strptime
    (data_string, format))
ValueError: time data 'time' does not match format '%Y-%m-%d %H:%M:%s'

入力はフォーマットのファイルからの行です - 年は意図的に迷惑データです:

3354-03-16 15:30:00
3354-03-16 16:00:00
3354-03-16 16:30:00
3354-03-16 16:30:00

私が使用しているコードは以下の通りです:


import sys
import csv
from datetime import datetime
import time

filename = open('data.csv', 'rb')


spam = csv.reader(filename, delimiter=',')
for row in spam:

    datestring = row[4] 
    print datestring
    date = time.strptime(datestring, "%Y-%m-%d %H:%M:%s")
filename.close()
0
time.strptime( '3354-03-16 16:30:00'、 "%Y-%m-%d%H:%M:%S") time.struct_timeを返します。 (tm_year = 3354、tm_mony = 16、tm_hour = 16、tm_min = 30、tm_sec = 0、tm_wday = 5、tm_yday = 75、tm_isdst = -1) datestring には上記のデータが含まれていますか?
追加された 著者 Johnsyweb,
修正された実装では、単にスパム定義とスパムブロックの行の間に「次(スパム)」行を追加するだけでした。
追加された 著者 Lillian Milagros Carrasquillo,

2 答え

形式や日付文字列に問題はありません。

あなたのファイルにヘッダー行があり、そのコードがその行を隠していると思います。

5
追加された
あなたたちは速いです!ありがとうございました。私はPythonを初めて使い、プリプロセススクリプトがヘッダーを保持していることに気付きました。
追加された 著者 Lillian Milagros Carrasquillo,
@LillianMilagrosCarrasquillo:エラーメッセージの 'time' の言及はちょっとしたプレゼントでした;-)
追加された 著者 NPE,
私のためにも動作します。ヘッダー行を導入すると、これはまさに私が得るエラーです。
追加された 著者 DSM,
@LillianMilagrosCarrasquillo:人々が試してみるためにカットアンドペーストすることができる問題を示す短いコードを提示し、彼らが見ているエラーメッセージを正確に投稿すれば、問題を見つけやすくなり、迅速な応答を得る。それが役に立つと思ったら、aixの回答を受け入れることを忘れないでください!
追加された 著者 DSM,

エラー自体から、問題の内容を確認することができます。

ValueError: time data 'time' does not match format '%Y-%m-%d %H:%M:%s'

したがって、入力として、 'time' という文字列、おそらくcsvファイルのヘッダを渡します。その行をスキップするだけです。

1
追加された