2016-09-13 9 views
2

.CSVファイルから文字列として与えられたタイムスタンプを変換しています。これは、この形式になります。.to_datetime()で文字列のUTCオフセットを停止する方法

2016-06-06T09:30:00.000856632-04:00 

私は日付オブジェクトに変換する.to_datetime()を使用し、それはUTC時間をオフセットします。この例では、9時30分AM 1:30 PM次のようになります。

2016-06-06 13:30:00.000856632 

私は、関数の説明文を読み、パラメータとして偽UTC =を設定すると、この問題を解決するだろうと思ったが、それは単に異なる量だけ時間をオフセットします。

答えて

2

列オフセット-4時間を有しています。変換前に削除してください:

>>> pd.to_datetime("2016-06-06T09:30:00.000856632-04:00"[:-6]) 
Timestamp('2016-06-06 09:30:00.000856632') 
0

パンダ.to_datetime()には、フォーマット引数があります。

形式:文字列、デフォルトなし

strftimeのは、時間を解析するために、例えば「%d個/%はm /%Y」、「%fは」ナノ秒までのすべての方法を解析することに注意してください。

.to_datetime(format="%d/%m/%Y") 

'11/03/2016'

format

.strftime()に使用されるのと同じパイソン datetimeフォーマットに従うもたらします。時間形式パラメータの完全なリストについては、 see this referenceを参照してください。

+0

フォーマットがオフセットされないようにしていますか?私の問題はフォーマットではなく、タイムゾーンのオフセットです – William

+0

私は、ドキュメントを含める答えを更新しました。 – Soviut

1

あなたは変換後timedeltaと4時間オフセットを減算することができる:

import datetime 
import pandas as pd 
pd.to_datetime("2016-06-06T09:30:00.000856632-04:00") + datetime.timedelta(hours = -4) 
# Timestamp('2016-06-06 09:30:00.000856632') 
関連する問題