1

数か月にわたるデータの 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
4

1 に答える 1