2017-12-12 7 views
0

なぜこれらの2つの文字列をPythonのタイムスタンプ型に変換する際にタイムスタンプの形式が異なりますか?Pythonで文字列をタイムスタンプに変換する際のタイムスタンプの形式が異なります

pd.to_datetime('05/09/2017 17:10') 
>>>>Timestamp('2017-05-09 17:10:00') 

pd.to_datetime('29/09/2017 17:10') 
>>>>Timestamp('2017-09-29 17:10:00') 

は、私はまた、

pd.to_datetime('29/09/2017 17:10', format = "%d%m%Y") 

がどの私は

ValueError: time data '29/09/2017 17:10' does not match format '%d%m%Y' (match) 

私は2017年5月9日17時10分〇〇秒 "タイムスタンプ(の私のタイムスタンプを取得したいと思いを取得しようとしています') フォーマット。

+0

あなたは '05-09'の意味を明確にする必要があります:1か月か1か月ですか?これが 'to_datetime'が異なる結果を返す理由です。 2番目のケースでは、あなたは明らかに1日の書式を持っています – Adelin

+0

05-09は日々の形式です –

答えて

1

フォーマットスペック文字列には、スラッシュと時と分を含めます。フォーマット文字列は'%d/%m/%Y %H:%M'次のようになります。

>>> pd.to_datetime('29/09/2017 17:10', format = '%d/%m/%Y %H:%M') 
Timestamp('2017-09-29 17:10:00') 

>>> pd.to_datetime('05/09/2017 17:10', format='%d/%m/%Y %H:%M') 
Timestamp('2017-09-05 17:10:00') 
0

dateparserモジュールはあなたのために有用である可能性があります。サイトから

dateparserは簡単に、一般的に、Webページ上で見つかったほぼすべての文字列形式にローカライズされた日付を解析するためのモジュールを提供します。