\

Pythonで日付範囲を扱う方法はいくつかありますが、ここでは主にdatetimetimedeltaを使用した方法を紹介します。

datetimeとtimedeltaを使用した方法

まずは、datetimetimedeltaを使用して日付範囲を生成し、それをforループで回す基本的な方法を見てみましょう。

from datetime import date, timedelta

d1 = date(2017,4,1)
d2 = date(2018,3,31)

for i in range((d2 - d1).days + 1):
    date = d1 + timedelta(i)
    # dateを使った処理

このコードでは、d1d2の間の日付を一日ずつ増やしながらループを回しています。ループ内でdateを使って必要な処理を行うことができます。

ジェネレータを使用した方法

次に、ジェネレータを使用して日付範囲を生成する方法を見てみましょう。

from datetime import date, timedelta

def date_range(start, stop, step = timedelta(1)):
    current = start
    while current < stop:
        yield current
        current += step

for date in date_range(date(2017, 4, 1), date(2017, 4, 5)):
    # dateを使った処理
    print(date)

このコードでは、date_rangeというジェネレータ関数を定義しています。この関数は、指定された開始日から終了日までの日付を一日ずつ(または指定されたステップ数だけ)増やしながら生成します。このジェネレータをforループで回すことで、指定した範囲の日付を一つずつ取り出すことができます。

以上、Pythonで日付範囲を扱う基本的な方法を紹介しました。日付データを扱う際には、これらの方法が役立つでしょう。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です