Q&A
実現したいこと
5分置きのデータを0埋めしたいです。
前提
現在以下のようなcsvファイルがあります。
A,Time,num
"A",2023-02-15 23:55:00,1
"A",2023-02-15 23:50:00,2
"A",2023-02-15 23:40:00,3
"A",2023-02-15 23:30:00,2
"A",2023-02-15 23:25:00,1
"A",2023-02-15 23:10:00,1
"A",2023-02-15 23:00:00,4
"A",2023-02-15 22:55:00,2
"A",2023-02-15 22:45:00,1
csvの中身として、Timeは5分おきに記録され、numが0でなければ数が記録され、0ならその時間は飛ばされるようになっています。
このデータを成形し、numが0のデータも作成したいです。
上に掲載したcsvは最終的に以下のような形にしたいです。
A,Time,num
"A",2023-02-15 23:55:00,1
"A",2023-02-15 23:50:00,2
"A",2023-02-15 23:45:00,0
"A",2023-02-15 23:40:00,3
"A",2023-02-15 23:35:00,0
"A",2023-02-15 23:30:00,2
"A",2023-02-15 23:25:00,1
"A",2023-02-15 23:20:00,0
"A",2023-02-15 23:15:00,0
"A",2023-02-15 23:10:00,1
"A",2023-02-15 23:05:00,0
"A",2023-02-15 23:00:00,4
"A",2023-02-15 22:55:00,2
"A",2023-02-15 23:50:00,0
"A",2023-02-15 22:45:00,1
また、Timeの期間が若干複雑で連続にはなっていないです。
記録があるのは1/13~1/15,2/13~2/15となっており、間の1/16~2/12は無視したいです(この期間の0埋めは不要)。
注文が多いですが、よろしくお願い致します。
該当のソースコード
以下のコードを試してみたりしたのですが、解決には至りませんでした。
python
1import datetime 2 3date1 = datetime.datetime(year=2022, month=1, day=13, hour=00, minute=0) 4date2 = datetime.datetime(year=2022, month=1, day=15, hour=23, minute=55) 5delta = datetime.timedelta(minutes=5) 6 7while date1 < date2: 8 print(date1) 9 date1 = date1 + delta
回答3件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
2023/03/29 06:51 編集
2023/03/29 06:20
2023/03/29 06:53
2023/03/29 07:24
2023/03/29 09:09
2023/03/29 09:20
2023/03/29 23:32