Python holidays 庫



什麼是 Python 中的 holidays 庫?

Python 的 **holidays** 庫用於確定特定日期在特定國家/地區是否為節假日。**holidays** 庫提供了一種簡單的方法來檢查特定日期是否為節假日,列出一年中的節假日,甚至獲取給定日期的節假日名稱。

holidays 庫的使用

holidays 庫可以應用於廣泛的用途 -

  • 此庫可用於建立工作日與節假日安排。
  • 它可用於設計非節假日日曆。
  • 它可用於圍繞節假日重新安排截止日期。
  • 它可用於建立包含節假日的報告。
  • 您可以探索特定國家的節假日。
  • 在處理多個區域時,它可用於合併一組國家節假日專案。
  • 它有助於建立基於專案的節假日列表以及您自定義的節假日。

holidays 庫的安裝

要開始使用 holidays 庫,您需要首先使用 PIP 安裝它,以下是安裝它的命令語法 -

pip install holidays

匯入 holidays 庫

安裝庫後,您需要在 Python 程式碼中匯入它。以下是匯入 **holidays** 庫的匯入語句 -

import holidays

指定國家/地區

要使用特定國家的節假日,請建立 holidays 庫的例項。使用以下語句為特定國家/地區建立 holidays 庫的例項 -

uk_holidays = holidays.UnitedKingdom()

檢查日期是否為節假日

您可以使用 holidays 庫來檢查給定日期在特定國家/地區是否為節假日。

示例

在此示例中,我們正在檢查一些日期在英國是否為節假日。

# Importing holidays library
import holidays
# Specifying country
uk_holidays = holidays.UnitedKingdom() 
# Checking dates
print('01-01-2018' in uk_holidays) 
print('02-01-2018' in uk_holidays)

輸出

True
False

獲取節假日名稱

要根據給定日期獲取特定節假日的名稱,請使用 **.get()** 方法以及物件名稱,並將日期作為引數傳遞。

示例

在此示例中,我們正在獲取指定日期的節假日名稱 -

# Importing holidays library
import holidays
# Specifying country
uk_holidays = holidays.UnitedKingdom() 
# Getting Holiday Name
print(uk_holidays.get('01-01-2018'))
print(uk_holidays.get('02-01-2018'))

輸出

New Year's Day
None

列出一年中的所有節假日

您還可以列印特定國家/地區的所有節假日。要列印特定年份的所有節假日,請使用 **.items()** 方法迭代迴圈。

示例

在此示例中,我們正在列印 2018 年英國的節假日日期和名稱。

# Importing holidays library
import holidays
# Specifying country
uk_holidays = holidays.UnitedKingdom() 
# Listing All Holidays for a Year 
for ptr in holidays.UnitedKingdom(years=[2018]).items(): 
   print(ptr)

輸出

(datetime.date(2018, 1, 1), "New Year's Day") 
(datetime.date(2018, 1, 2), 'New Year Holiday [Scotland]') 
(datetime.date(2018, 3, 17), "St. Patrick's Day [Northern Ireland]") 
... 

組合國家/地區

您可以組合來自多個國家/地區的節假日列表。

示例

以下示例演示瞭如何組合國家/地區 -

# Importing holidays library
import holidays
north_america = holidays.CA() + holidays.US() + holidays.MX() 
print(north_america.country) 
print(north_america.get('07-01-2018')) 
print(north_america.get('07-04-2018'))

輸出

['CA', 'US', 'MX']
Canada Day
Independence Day

建立自定義節假日

透過使用 holidays 庫,您可以建立自定義節假日列表。

示例

在此示例中,我們正在建立自定義節假日列表 -

# Importing holidays library
import holidays
import datetime
in_holidays = holidays.HolidayBase() 
# Add a single date 
in_holidays.append('26-01-2019')   
# Add a date with description 
in_holidays.append({'26-01-2019': 'Republic Day India'}) 
# Add multiple dates 
in_holidays.append(['02-10-2018', '15-08-2018'])   
# Add a date object 
in_holidays.append(datetime.date(2018, 12, 25)) 
print('26-01-2019' in in_holidays)
print(in_holidays.get('26-01-2019'))

輸出

True
Holiday; Republic Day India

holidays 庫的常用方法

holidays 庫的一些常用方法如下 -

方法 描述
get(key, default=None) 此方法返回給定日期的節假日名稱。
get_list(key) 此方法與 get 相同,但它返回列表而不是逗號分隔的字串
pop(key, default=None) 此方法刪除並返回給定日期的節假日。
python_reference.htm
廣告