2017-12-01 6 views
-3

str型(「1995年1月9日00:00:00」など)を日付に変換しようとしています。これは私の試行ですPythonを使用してstr型を日付型に変換するにはどうすればいいですか?

for line in ratings_df[['user_id','movie_id','rating','timestamp']].values: 
    annee= line[3] 
    print datetime.strptime(annee, "%Y-%m-%d %H:%M:%S") 

と、私はこのエラーを得た:

error

+0

あなたがあなたと働いていると思う種類の価値を使って作業していることを確認するには、「anneeを印刷してください。 – deceze

答えて

-1

を試してみてください。 これは問題を解決する可能性があります。

+0

はい、最初の値が返されていればヘッダです削除して問題を解決しました。ありがとうございます –

0

あなたの例の日付文字列が正確にあなたの質問末尾に空白文字があるにコピーされた場合。書式文字列にこのスペースがないため、strptime()はその文字列を解析できません。あなたは、事前に日付文字列strip()ことができます。

for line in ratings_df[['user_id','movie_id','rating','timestamp']].values: 
    annee= line[3].strip() 
    print datetime.strptime(annee, "%Y-%m-%d %H:%M:%S") 

をそれとも、フォーマット文字列の末尾にスペースを追加することができます。私はストリッピングが良いと思う。

+0

いいえ私のコードの末尾に空白がありません –

+0

それで 'annee'はあなたの考えではありません。あなたが投稿したものとは少しずれがあるはずです。 @ decezeのアドバイスと 'print(repr(annee))'に従ってください。 – mhawke

0
>>> annee 
'1995-01-09 00:00:00 ' 
>>> datetime.datetime.strptime(annee, "%Y-%m-%d %H:%M:%S ") 
datetime.datetime(1995, 1, 9, 0, 0) 

ない問題は、末尾に余分なスペース以外に見つかったストリップのタイムスタンプ文字列と変数annee最初の値を印刷してみ再び

+0

いいえ最後の部分にコードがありません –

+0

@HamzaLahbabi - エラーもなく、pdbのようなデバッガを使用するか、変換前にタイムスタンプを出力してください –

関連する問題