数か月にわたるデータの API を照会する必要があります。ただし、API は 3 日以上の間隔で停止します。
そこで、API にヒットする関数を繰り返し呼び出すときに使用できる、複数月の日付範囲を 3 日のセグメントに分割するジェネレータ関数を作成したいと思います。開始日と終了日を渡すと、次のようになります。
- 初めて私に開始日を与えます,開始日+3日
- 次回は開始日+3日、開始日+6日
- それ以降は3日ずつ進むたびに
- 取得するデータがまだ 1 日か 2 日残っている場合は、終了日までの残り日数が表示されます。
- 止まる
これまでの私のコードは次のとおりです。初めて機能しますが、次に関数を呼び出すときに開始日を3日増やす方法がわかりません。また、最終終了日まであと 1 日か 2 日残っている場合、until
変数を最終終了日に設定する方法もわかりません。今のところ、単に「最終日だからやめよう」:
3_day_segmenter(start, end):
start_date = datetime.strptime(start, '%Y-%m-%d')
end_date = datetime.strptime(end, '%Y-%m-%d')
since = start_date
for date in range(int ((end_date - start_date).days)):
until = start_date + datetime.timedelta(days=3)
yield since, until