Python holidays模块

在本教程中,我们将学习一个有趣的名为假日的 Python 库,确定了一年中某一天的假日。它返回给定日期的具体结果。我们只需要传递国名。但只能检测圣诞节、新年等固定节假日。

装置

向终端键入以下命令,然后按回车键。


pip install holidays

导入节假日模块检查是否安装。

假日基数()方法

节假日模块提供假日基地()方法,用于检测特定日期的节假日。让我们看看下面的语法。

语法-


holidays.HolidayBase(years=[], expand=True, observed=True, prov=None, state=None)

参数-

它采用以下参数。

  • 年份- 它是一个可迭代的整数列表,指定应该预先生成的假日对象。仅当设置增加到“假”时,才能使用此参数。
  • expand – 表示一个布尔值,表示新年是否增加节假日。默认情况下,这是真的。
  • observed – 当我们将观察到的布尔值设置为 True 时,它将包括周末假日的观察日。
  • prov – 它是一个字符串值,指定具有唯一宪法假日的省份。默认情况下(澳大利亚=’ACT ‘,加拿大=’ON ‘,新西兰=无)。
  • 州- 它代表了一个拥有独特宪法假日的州。(默认值-美国=无)。

让我们理解下面的例子-

示例-


from datetime import date
import holidays
# Select country
USA_holidays_list = holidays.US()
# printing all the holiday of USA year 2020
for p in holidays.US(years = 2020).items():
    print(p)

输出:

(datetime.date(2020, 1, 1), "New Year's Day")
(datetime.date(2020, 1, 20), 'Martin Luther King Jr. Day')
(datetime.date(2020, 2, 17), "Washington's Birthday")
(datetime.date(2020, 5, 25), 'Memorial Day')
(datetime.date(2020, 7, 4), 'Independence Day')
(datetime.date(2020, 7, 3), 'Independence Day (Observed)')
(datetime.date(2020, 9, 7), 'Labor Day')
(datetime.date(2020, 10, 12), 'Columbus Day')
(datetime.date(2020, 11, 11), 'Veterans Day')
(datetime.date(2020, 11, 26), 'Thanksgiving')
(datetime.date(2020, 12, 25), 'Christmas Day')

示例- 2


from datetime import date
import holidays

# Select country
India_holidays_list = holidays.India()

# printing all the holiday of India year 2020
for p in holidays.India(years = 2020).items():
    print(p)

输出:

(datetime.date(2021, 1, 14), 'Makar Sankranti / Pongal')
(datetime.date(2021, 1, 26), 'Republic Day')
(datetime.date(2021, 8, 15), 'Independence Day')
(datetime.date(2021, 10, 2), 'Gandhi Jayanti')
(datetime.date(2021, 5, 1), 'Labour Day')
(datetime.date(2021, 12, 25), 'Christmas')

注意——正如我们在输出中看到的,holidays模块只返回固定日期的假日。

示例- 3:


from datetime import date
import holidays
# Select country
uk_holidays_list = holidays.UnitedKingdom()
# printing all the holiday of India year 2020
for p in holidays.UnitedKingdom(years = 2021).items():
    print(p)

输出:

 (datetime.date(2021, 1, 1), "New Year's Day")
(datetime.date(2021, 1, 2), 'New Year Holiday [Scotland]')
(datetime.date(2021, 1, 4), 'New Year Holiday [Scotland] (Observed)')
(datetime.date(2021, 3, 17), "St. Patrick's Day [Northern Ireland]")
(datetime.date(2021, 7, 12), 'Battle of the Boyne [Northern Ireland]')
(datetime.date(2021, 8, 2), 'Summer Bank Holiday [Scotland]')
(datetime.date(2021, 11, 30), "St. Andrew's Day [Scotland]")
(datetime.date(2021, 12, 25), 'Christmas Day')
(datetime.date(2021, 12, 27), 'Christmas Day (Observed)')
(datetime.date(2021, 4, 2), 'Good Friday')
(datetime.date(2021, 4, 5), 'Easter Monday [England, Wales, Northern Ireland]')
(datetime.date(2021, 5, 3), 'May Day')
(datetime.date(2021, 5, 31), 'Spring Bank Holiday')
(datetime.date(2021, 8, 30), 'Late Summer Bank Holiday [England, Wales, Northern Ireland]')
(datetime.date(2021, 12, 26), 'Boxing Day')
(datetime.date(2021, 12, 28), 'Boxing Day (Observed)')

我们可以得到想要去的国家的度假名单。

怎么查给定的日期是假期?

假设我们要检查一个具体的日期是不是假期。我们可以这样做。

示例-


from datetime import date
import holidays

# Select country
uk_holidays = holidays.UnitedKingdom()
date1 = '25-25-2021'

j = date1 in uk_holidays

# Cheking whether given data is a holiday
if j == True:
    print("Yes: ")
    print (uk_holidays.get(date1))

else:
    print("No Holiday")

输出:

Yes: 
Christmas Day

为印度添加自定义假日

下表遗漏了许多国家/地区,但幸运的是,我们可以为特定国家/地区添加自己的自定义假日。在下面的示例中,我们将添加印度的自定义假日。

示例-


import holidays

add_holidays = holidays.HolidayBase()
print('28-03-2021' in add_holidays) # checking for holiday

# here we are adding Holiday without description
add_holidays.append('28-03-2021')

print('28-03-2021' in add_holidays) # True

# Add Holiday with description
add_holidays.append({'28-03-2021':'Holi: Festival of Colors, Holiday'})
print(add_holidays.get('28-03-2021'))

输出:

False
True
Holi: Festival of Colors, Holiday

说明:

在上面的代码中,首先,我们已经导入了日期和holidays模块。然后,我们创建了 HolidayBase() 的对象,并检查给定日期是否包含假日。它返回 false,因此我们添加了没有描述的自定义假日。

在另一个语句中,我们添加了带有描述的假日,并打印了结果。

假日图书馆中的可用国家

以下是假日图书馆支持的国家。

| 国家缩写 | 省/州 |
| 阿根廷。亦作 THE ARGENTINE | 阿肯色州 | 没有人 |
| 澳大利亚 | 你好 | prov = ACT (默认值),NSW,NT,QLD,SA,TAS,VIC,WA |
| 奥地利 | (At)人名ˌ(越)乙 | prov = B、K、N、O、S、ST、T、V、 W (默认) |
| 比利时 | 存在 | 没有人 |
| 加拿大 | 加利福尼亚 | prov = AB、BC、MB、NB、NL、NS、NT、NU、(默认值)、PE、QC、SK、YU |
| 哥伦比亚 | 哥伦比亚 | 没有人 |
| 捷克人 | 捷克(Czech Republic) | 没有人 |
| 丹麦 | 丹麦 | 没有人 |
| 英格兰 | | 没有人 |
| 欧洲中央银行 | 欧洲央行,西藏自治区 | 跨欧洲自动实时总结算(目标 2) |
| 芬兰 | 船方不负担装货费用 | 没有人 |
| 法国 | 联邦铁路局(Federal Railroad Administration) | 大都市(默认值),Alsace-Moselle、Guadeloupe、圭亚那、马提尼克、马约特、新喀里多尼亚、会议、法属波利尼西亚、圣巴特雷米、圣马丁、瓦利斯和富图纳 |
| 德国 | 特拉华州 | BW、BY、BE、BB、HB、HH、HE、MV、NI、NW、RP、SL、SN、ST、SH、TH |
| 匈牙利 | 胡(汉语拼音) | 没有人 |
| 爱尔兰 | | 工业管理学(Industrial Engineering) |
| 马恩岛 | | 没有人 |
| 意大利 | 信息技术 | S7-1200 可编程控制器 |
| 日本 | 地方官 | 没有人 |
| 墨西哥 | 麦克斯韦(maxwellˌ磁通量单位)ˌ中性(Middlesex) | 没有人 |
| 荷兰。亦称 HOLLAND | 荷兰 | 没有人 |
| 新西兰 | 新西兰 | prov = NTL、AUK、TKI、HKB、WGN、MBH、NSN、CAN、STC、WTL、OTA、STL、CIT |
| 北爱尔兰 | | 没有人 |
| 挪威 | 不 | 没有人 |
| 抛光剂 | 波兰 | 没有人 |
| 葡萄牙 | 体育锻炼 | 没有人 |
| 葡萄牙石 | 客运管理处 | 葡萄牙加上大部分人放假的延长天数 |
| 苏格兰 | | 没有人 |
| 斯洛文尼亚 | 国际度量单位制 | 没有人 |
| 斯洛伐克 | 萨斯喀彻温 | 没有人 |
| 南非 | 为 | 没有人 |
| 西班牙 | 是吗 | prov = AND、ARG、AST、CAN、CAM、CAL、CAT、CVA、EXT、GAL、
IBA、ICA、MAD、MUR、NAV、PVA、RIO |
| 瑞典 | 如果 | 没有人 |
| 瑞士 | 荣誉勋位爵士 | prov = AG,AR,AI,BL,BS,BE,FR,GE,GL,GR,JU,LU,
NE,NW,OW,SG,SH,SZ,SO,TG,TI,UR,VD,VS,ZG,ZH |
| 大不列颠及北爱尔兰联合王国 | 联合王国 | 没有人 |
| 美国 | 美国 | state = AL,AK,AS,AZ,AR,CA,CO,CT,DE,DC,FL,GA,
GU,HI,ID,IL,IN,IA,KS,KY,LA,ME,MD,MH,MA,MI,
FM,MN,MS,MT,NE,NV,NH,NJ,NM,NY,NC,ND,MP,
哦,OK,OR,PW,PA,PR,RI,SC |
| 威尔士 | | 没有人 |


原创文章,作者:简单一点,如若转载,请注明出处:https://www.506064.com/n/129522.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
简单一点简单一点
上一篇 2024-10-03 23:26
下一篇 2024-10-03 23:26

相关推荐

  • Python列表中负数的个数

    Python列表是一个有序的集合,可以存储多个不同类型的元素。而负数是指小于0的整数。在Python列表中,我们想要找到负数的个数,可以通过以下几个方面进行实现。 一、使用循环遍历…

    编程 2025-04-29
  • 如何查看Anaconda中Python路径

    对Anaconda中Python路径即conda环境的查看进行详细的阐述。 一、使用命令行查看 1、在Windows系统中,可以使用命令提示符(cmd)或者Anaconda Pro…

    编程 2025-04-29
  • Python中引入上一级目录中函数

    Python中经常需要调用其他文件夹中的模块或函数,其中一个常见的操作是引入上一级目录中的函数。在此,我们将从多个角度详细解释如何在Python中引入上一级目录的函数。 一、加入环…

    编程 2025-04-29
  • Python计算阳历日期对应周几

    本文介绍如何通过Python计算任意阳历日期对应周几。 一、获取日期 获取日期可以通过Python内置的模块datetime实现,示例代码如下: from datetime imp…

    编程 2025-04-29
  • Python周杰伦代码用法介绍

    本文将从多个方面对Python周杰伦代码进行详细的阐述。 一、代码介绍 from urllib.request import urlopen from bs4 import Bea…

    编程 2025-04-29
  • python强行终止程序快捷键

    本文将从多个方面对python强行终止程序快捷键进行详细阐述,并提供相应代码示例。 一、Ctrl+C快捷键 Ctrl+C快捷键是在终端中经常用来强行终止运行的程序。当你在终端中运行…

    编程 2025-04-29
  • Python字典去重复工具

    使用Python语言编写字典去重复工具,可帮助用户快速去重复。 一、字典去重复工具的需求 在使用Python编写程序时,我们经常需要处理数据文件,其中包含了大量的重复数据。为了方便…

    编程 2025-04-29
  • Python程序需要编译才能执行

    Python 被广泛应用于数据分析、人工智能、科学计算等领域,它的灵活性和简单易学的性质使得越来越多的人喜欢使用 Python 进行编程。然而,在 Python 中程序执行的方式不…

    编程 2025-04-29
  • Python清华镜像下载

    Python清华镜像是一个高质量的Python开发资源镜像站,提供了Python及其相关的开发工具、框架和文档的下载服务。本文将从以下几个方面对Python清华镜像下载进行详细的阐…

    编程 2025-04-29
  • 蝴蝶优化算法Python版

    蝴蝶优化算法是一种基于仿生学的优化算法,模仿自然界中的蝴蝶进行搜索。它可以应用于多个领域的优化问题,包括数学优化、工程问题、机器学习等。本文将从多个方面对蝴蝶优化算法Python版…

    编程 2025-04-29

发表回复

登录后才能评论