やりたい事
下記サイトを参考にAPIで取得したデータの日付を
2020-01-15T01:55:00.000000000Z,
から
2020.01.15,01:55,
に変更したい
https://mathokapro.com/2019/07/25/oandav20_get_data/
現在の状況
python3
1data = [] 2#少し形を成形してあげる 3for raw in res1: 4 data.append([raw['time'], raw['mid']['o'], raw['mid']['h'], raw['mid']['l'], raw['mid']['c'], raw['volume']]) 5 6#DataFrameに変換して、CSVファイルに保存をする。 7df = pd.DataFrame(data) 8df.columns = ['date', 'open', 'high', 'low', 'close', 'volume'] 9 10#日付型の表示形式を変更する 11for i in df['date']: 12# i = pd.Timestamp(i).tz_convert('Asia/Tokyo') 13 i = "{0:%Y.%m.%d,%H:%M:%S}".format(i) 14 15#df = df.set_index('date') 16#df.index = df.index.astype('datetime64') 17df.to_csv(ex_pair[:3]+ex_pair[4:]+'_'+asi+'.csv', encoding='UTF8', header=False, index=False) 18
データを取得後forで変換していけば行けるのでは?と思い
タイムスタンプを変更するfor分を改造してみましたが下記のようなエラーになりました。
error
1Traceback (most recent call last): 2 File "hist.py", line 74, in <module> 3 i = "{0:%Y.%m.%d,%H:%M:%S}".format(i) 4ValueError: Invalid format specifier
エラーを翻訳してみると「無効な形式指定子」と出たので
i = "{0:%Y.%m.%d,%H:%M:%S}".format(i)の使い方が間違っている
と言う事はでは解るのですが、次はどうすればいいか分かりません。
もしかしたらもっと上の方のコードで変換した方が良いのでしょうか?
進展
Python
1#少し形を成形してあげる 2for raw in res1: 3 data.append([datetime.fromisoformat(raw['time'][:19]), raw['mid']['o'], raw['mid']['h'], raw['mid']['l'], raw['mid']['c'], raw['volume']])
appendの所でフォーマットを指定してあげたら近い形になりました・・・
2020-01-15 01:55:00
2020.01.15,01:55,
後は、秒数を消すのと-を.に日付と時間の間に,を入れたいです。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。