Pythonでは、日付の範囲を扱うためのいくつかの方法があります。ここでは、その中でも特に一般的な2つの方法を紹介します。
方法1: datetime
とtimedelta
を使用する
この方法では、datetime
モジュールのdate
クラスとtimedelta
クラスを使用します。まず、範囲の開始日と終了日をdate
オブジェクトとして定義します。次に、timedelta
を使用して日付の差を計算し、その結果をrange
関数に渡してイテレータを生成します。最後に、このイテレータを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を使った処理
方法2: ジェネレータを使用する
この方法では、日付の範囲を生成するためのジェネレータ関数を定義します。このジェネレータは、開始日から終了日までの各日付を順に生成します。この方法の利点は、メモリ効率が良いことと、コードがよりシンプルになることです。
from datetime import date, timedelta
def date_range(start_date, end_date):
for n in range(int((end_date - start_date).days)):
yield start_date + timedelta(n)
start_date = date(2013, 1, 1)
end_date = date(2015, 6, 2)
for single_date in date_range(start_date, end_date):
print(single_date.strftime("%Y-%m-%d"))
これらの方法を使用すれば、Pythonで日付の範囲を簡単に扱うことができます。適切な方法を選択して、日付データの処理を効率的に行いましょう。