前提・実現したいこと
Python,numpyでdatatimeを使って二種類の時間を取得したい
発生している問題・エラーメッセージ
時間データに二種類のフォーマットが存在している
データのフォーマットは
"2020-10-03 00:00:00"
"2020-10-03 00:00:00.1"
のようになっています.ゼロ秒の時はミリ秒が存在しないが,そのほかはミリ秒がついています
エラーメッセージ
time data '"2020-11-01 00:00:00"' does not match format '%Y-%m-%d %H:%M:%S.%f'
該当のソースコード
python
1time_fmt1='"'+"%Y-%m-%d %H:%M:%S.%f"+'"' 2 3for i in range(data.shape[0]): 4 if len(data[i,0])<21: 5 data[i,0]=data[i,0]+".0" # if the second does not have decimal value 6 7date_time = [datetime.datetime.strptime(x,time_fmt1) for x in data[:,0]] 8 date_time = np.array([date_time]).T
試したこと
ミリ秒有無を判断して、ミリ秒なしの場合は'.0'を末尾に足してから処理する
ミリ秒有無を判断して、どちらかによってstrptimeの書式を切り替える
のどちらかで対処できるかと考えているのですが,前者の方法を試しましたが,できなくて困っています。どなたか知恵をお貸しください。
補足情報(FW/ツールのバージョンなど)
python 3.
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。