Python获取指定时间范围内的工作日、假日日、法定节假日
1 导库
import chinese_calendar
import datetime
import pandas as pd
2 指定时间范围
start_time = datetime.date(2021, 1, 1) # 指定开始时间
end_time = datetime.date(2022, 6, 30) # 指定结束时间
3 生成工作日
workdays = pd.DataFrame(chinese_calendar.get_workdays(start_time,end_time))
workdays = workdays.rename(columns={0:'日期'})
workdays['属性'] = '工作日'
workdays
日期 | 属性 | |
---|---|---|
0 | 2021-01-04 | 工作日 |
1 | 2021-01-05 | 工作日 |
2 | 2021-01-06 | 工作日 |
3 | 2021-01-07 | 工作日 |
4 | 2021-01-08 | 工作日 |
... | ... | ... |
367 | 2022-06-24 | 工作日 |
368 | 2022-06-27 | 工作日 |
369 | 2022-06-28 | 工作日 |
370 | 2022-06-29 | 工作日 |
371 | 2022-06-30 | 工作日 |
372 rows × 2 columns
4 生成假期日
hd = pd.DataFrame(chinese_calendar.get_holidays(start_time,end_time))
hd = hd.rename(columns={0:'日期'})
hd['属性'] = '假期'
hd
日期 | 属性 | |
---|---|---|
0 | 2021-01-01 | 假期 |
1 | 2021-01-02 | 假期 |
2 | 2021-01-03 | 假期 |
3 | 2021-01-09 | 假期 |
4 | 2021-01-10 | 假期 |
... | ... | ... |
169 | 2022-06-12 | 假期 |
170 | 2022-06-18 | 假期 |
171 | 2022-06-19 | 假期 |
172 | 2022-06-25 | 假期 |
173 | 2022-06-26 | 假期 |
174 rows × 2 columns
5 获取国家法定节假日
import requests
from bs4 import BeautifulSoup as BS# 获取指定月份节假日
def get_holidays(year, month):result = {}url = f"https://www.rili.com.cn/wannianli/{year}/{month}/"content = requests.get(url)bs = BS(content.text)holidays = ['春节','元旦','除夕','元宵节','清明节','劳动节','端午节','中秋节','国庆节']tds = bs.find("table").find("table").find_all("td")for td in tds:if 'noby' in td['class']:continueday = td.select(".riwai>.ri")[0].textname1 = td.select(".riwai>.jie")name2 = td.select(".riwai>.r2")if len(name1)>0:name = name1[0].textif len(name2)>0:name = name2[0].textif name in holidays:result[f"{year}-{month}-{day}"] = namereturn resultif __name__=="__main__":holidays = {}for year in range(2022, 2023):for month in range(1, 13):holidays.update(get_holidays(year,month))print(holidays)holidays = pd.DataFrame([holidays]).T.reset_index()print(display(holidays.rename(columns={'index':'日期',0:'国家法定节假日'})))
{'2022-1-1': '元旦', '2022-1-31': '除夕', '2022-2-1': '春节', '2022-2-15': '元宵节', '2022-4-5': '清明节', '2022-5-1': '劳动节', '2022-6-3': '端午节', '2022-9-10': '中秋节', '2022-10-1': '国庆节'}
日期 | 国家法定节假日 | |
---|---|---|
0 | 2022-1-1 | 元旦 |
1 | 2022-1-31 | 除夕 |
2 | 2022-2-1 | 春节 |
3 | 2022-2-15 | 元宵节 |
4 | 2022-4-5 | 清明节 |
5 | 2022-5-1 | 劳动节 |
6 | 2022-6-3 | 端午节 |
7 | 2022-9-10 | 中秋节 |
8 | 2022-10-1 | 国庆节 |
Python获取指定时间范围内的工作日、假日日、法定节假日相关推荐
- oracle获取指定日期内工作日的天数或节假日天数
oracle 获取指定日期内工作日的天数 不必拘泥,可以反向思考 获取这段时期内周六日的天数,再用总天数减去周六日的天数,得到我们想要的 获取时间段内 所有日期 select to_date('202 ...
- [046量化交易]python 抓取指定时间范围内的股票基础信息写入Mongodb
# -*- coding: utf-8 -*- from datetime import datetime, timedelta import tushare as ts from pymongo i ...
- Python 获取指定模块基址
因为昨天研究FPS游戏时候,发现有个动态地址每次重启电脑都会不同,然后因为有过用C和易语言编写指定模块名获取基址的经验,所以打算用Python来试试 在网上搜索了一点资料,发现有吾爱有一篇是使用Pyt ...
- python下载文件到指定目录-Python获取指定文件夹下的文件名的方法
本文采用os.walk()和os.listdir()两种方法,获取指定文件夹下的文件名. 一.os.walk() 模块os中的walk()函数可以遍历文件夹下所有的文件. os.walk(top, t ...
- 获取指定区域内的坐标点位,在线查看经纬坐标
获取指定区域内的坐标点 项目介绍 使用方法 仓库地址 项目介绍 基于 turfjs 库的很简单的封装,实现输入范围的多边形数据,返回指定坐标间隔的点位. 多边形数据可以从高德地图API获取,例如:(该 ...
- 【JavaScript】如何获取指定范围内的随机数
如何获取指定范围内的随机数,要知道,JavaScript中用Math.random()生成随机小数,可以利用这一点,加上指定范围的处理,就可以做成自己想要的随机数 文章目录 1. 函数介绍 2. 使用 ...
- python获取指定目录下的所有指定后缀的文件名
python获取指定目录下的所有指定后缀的文件名 使用到的函数有: os.path.splitext():分离文件名与扩展名 代码如下: #! /usr/bin/python # -*- coding ...
- java判断工作日_java 查询指定月份的工作日(不包括法定节假日)
/** * 日期工具类 用于获取指定月份的工作日(除去周末和法定节假日) */ public class DateUtils { public static void main(String[] ar ...
- 利用python获取指定url在ATS中缓存对象的信息
业务需求 给定url,如何查询指定的ATS中是否有该url的缓存对象信息?如果缓存了的话,希望提供该缓存对象的大小,缓存时间,缓存文件名,缓存份数(document alternative)等等信息 ...
最新文章
- SAP QM 事务代码QE01录入结果后回车,为啥不弹出Manual Valuation窗口?
- linux系统添加程序,Linux添加系统服务小程序
- 超全整理|Python 操作 Excel 库 xlwings 常用操作详解!
- 正则表达式教程之模式修正符
- 【Django 2021年最新版教程28】前端模板中 时间日期星期格式化
- 使用 Android 签名 APK
- 资深HR告诉你到底怎么写一份好的简历(非常全面)
- Word文档如何去掉最后一页的页码且不会影响其它页的页码
- 作为管理者,就不要总等着领导给你布置任务了
- 用iframe的方式 解决 window.open() 不能打开多个窗口的问题
- python之signal操作
- python 一行内容,变成多列(一行变多列)
- Map中的keySet方法
- Python让Excel飞起来—批量处理工作薄和工作表
- java对象——new对象的理解
- CSS padding(填充)
- 最差的算法工程师能差到什么程度呢?
- 如何区分形式主语和强调句
- 实施微前端的六种方式
- 输出指定范围内的素数(质数)