在 Python 中建立日期範圍列表
我們將介紹一些生成日期範圍列表的方法。一種方法是使用 pandas
庫。Pandas 直接支援完成任務。另一種方法是使用 for 迴圈手動設計自己的邏輯來生成日期。
我們將看一些示例,例如通過輸入開始日期和之後的 k 天來建立日期範圍的列表,或者我們可以輸入開始日期和結束日期。
在 Python 中使用 Pandas 建立日期範圍列表
我們將使用 pandas 的 date_range()
函式,其中我們將傳遞開始日期和之後的天數(稱為句點)。在這裡,我們還使用了 datetime
庫來格式化日期,以便我們可以以 DD-MM-YY
格式輸出日期。我們還可以定義時間戳和日期。
示例程式碼:
在此示例中,我們以 DD-MM-YY
的格式傳遞開始日期和週期。因此,在輸出中,我們可以看到從開始日期開始的一系列天數以及之後的 periods
數。
# python 3.x
import datetime
import pandas as pd
start = datetime.datetime.strptime("01-12-2021", "%d-%m-%Y")
date_generated = pd.date_range(start, periods=5)
print(date_generated.strftime("%d-%m-%Y"))
輸出:
Index(['01-12-2021', '02-12-2021', '03-12-2021', '04-12-2021', '05-12-2021'], dtype='object')
現在我們將看另一個示例,其中我們將傳遞開始日期
和結束日期
。程式將輸出這兩個日期之間的日期範圍。
# python 3.x
import datetime
import pandas as pd
start = datetime.datetime.strptime("01-12-2021", "%d-%m-%Y")
end = datetime.datetime.strptime("07-12-2021", "%d-%m-%Y")
date_generated = pd.date_range(start, end)
print(date_generated.strftime("%d-%m-%Y"))
輸出:
Index(['01-12-2021', '02-12-2021', '03-12-2021', '04-12-2021', '05-12-2021',
'06-12-2021', '07-12-2021'],
dtype='object')
在 Python 中手動建立日期範圍列表
藉助 for 迴圈和 timedelta()
,我們可以手動生成列表。timedelta()
是 datetime
庫下定義的函式。這裡 delta 表示差異。在它的幫助下,我們可以用日期加減 delta 來分別獲得下一個或上一個日期。假設我們有一個日期 01-12-2021。現在,如果我們給它加 1,我們的日期將是 02-12-2021。我們將在 for 迴圈中使用該邏輯。For 迴圈被迭代,我們將新增帶有開始日期的變數以獲得下一個日期,然後我們將當前生成的日期附加到我們的列表中,直到我們得到完整的日期範圍。
示例程式碼:
# python 3.x
import datetime
start = datetime.date(2021, 12, 10)
periods = 5
daterange = []
for day in range(periods):
date = (start + datetime.timedelta(days=day)).isoformat()
daterange.append(date)
print(daterange)
輸出:
['2021-12-10', '2021-12-11', '2021-12-12', '2021-12-13', '2021-12-14']
I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.
LinkedIn