由于工作需求,要对几万的数据的日期区分节假日、工作日和周末三种数据。下面是我的心得与代码,有什么问题可以尽管提出来哦。

方法一:

首先,先放一种访问url的代码,这个方法其实很方便,不需要自行手动输入太多。

import json

import requests

import time

#自行设置格式 格式20190225

nowTime = time.strftime('%Y%m%d', time.localtime())

d = '20190720'

# 节假日接口(工作日对应结果为 0, 休息日对应结果为 1, 节假日对应的结果为 2 )

server_url = "http://www.easybots.cn/api/holiday.php?d="

req = requests.get(server_url + d)

# 获取data值

vop_data = json.loads(req.text)

print('日期 ' + str(d) + '\n查询结果为 ' + str(vop_data) + '\n结论 ', end=' ')

if int(vop_data[d]) == 0:

print('Its weekday')

elif int(vop_data[d]) == 1:

print('Its weekend')

elif int(vop_data[d]) == 2:

print('Its holiday')

else:

print('Error')

但是有个缺点就是:如果你要查询的日期很多,你就会频繁访问网站。。。。会很容易被网站认为你攻击网站。。然后出错。。。。。。。像我。。。。。。。。我的数据是差不多6万这样,访问到3万次的时候。。报错了(如下)

ConnectionError: ('Connection aborted.', ConnectionResetError(10054, '远程主机强迫关闭了一个现有的连接。', None, 10054, None))

所以当你要判断的日期数量不多的时候,就可以使用方法一、当你判断数量太多时,这个方法就不太可行了。当然,有些朋友会说,我可以设置间隔,还可以加什么加什么。。。可能是我比较菜。。我也尝试过增加某些代码。。可是还是不成功,关于间隔,我没有去尝试,就开始写方法二的代码了。

方法二

方法二比较笨拙。。因为我找不到好的方法,只能自己去查询日期自己写代码了。。。发现更好方法的大神烦请你在下面留言、。。跪求简洁明了的方法哈哈哈。

def date_sort(data):

hol = {"2017-01-01", "2017-01-02", "2017-01-27", "2017-01-28", "2017-01-29", "2017-01-30", "2017-01-31",

"2017-02-01","2017-02-02", "2017-04-02", "2017-04-03", "2017-04-04", "2017-04-29", "2017-04-30",

"2017-05-01","2017-05-28", "2017-05-29", "2017-05-30", "2017-10-01", "2017-10-02", "2017-10-03",

"2017-10-04", "2017-10-05", "2017-10-06", "2017-10-07", "2017-10-08", "2017-12-30", "2017-12-31",

"2018-01-01", "2018-02-15", "2018-02-16", "2018-02-17", "2018-02-18", "2018-02-19", "2018-02-20",

"2018-02-21", "2018-04-05", "2018-04-06", "2018-04-07", "2018-04-29", "2018-04-30", "2018-05-01"

"2018-06-16", "2018-06-17", "2018-06-18", "2018-09-22", "2018-09-23", "2018-09-24", "2018-10-01",

"2018-10-02", "2018-10-03", "2018-10-04", "2018-10-05", "2018-10-06", "2018-10-07", "2018-12-30",

"2018-12-31",

"2019-01-01", "2019-02-04", "2019-02-05", "2019-02-06", "2019-02-07", "2019-02-08", "2019-02-09",

"2019-02-10", "2019-04-05", "2019-04-06", "2019-04-07"}

weekend = {"2017-01-07","2017-01-08","2017-01-14","2017-01-15","2017-01-21","2017-02-05","2017-02-11",

"2017-02-12","2017-02-18","2017-02-19","2017-02-25","2017-02-26","2017-03-04","2017-03-05",

"2017-03-11","2017-03-12","2017-03-18","2017-03-19","2017-03-25","2017-03-26","2017-04-08",

"2017-04-09","2017-04-15","2017-04-16","2017-04-22","2017-04-23","2017-05-06","2017-05-07",

"2017-05-13","2017-05-14","2017-05-20","2017-05-21","2017-06-03","2017-06-04","2017-06-10",

"2017-06-11","2017-06-17","2017-06-18","2017-06-24","2017-06-25","2017-07-01","2017-07-02",

"2017-07-08","2017-07-09","2017-07-15","2017-07-16","2017-07-22","2017-07-23","2017-07-29",

"2017-07-30","2017-08-05","2017-08-06","2017-08-12","2017-08-13","2017-08-19","2017-08-20",

"2017-08-26","2017-08-27","2017-09-02","2017-09-03","2017-09-09","2017-09-10","2017-09-16",

"2017-09-17","2017-09-23","2017-09-24","2017-10-14","2017-10-15","2017-10-21","2017-10-22",

"2017-10-28","2017-10-29","2017-11-04","2017-11-05","2017-11-11","2017-11-12","2017-11-18",

"2017-11-19","2017-11-25","2017-11-26","2017-12-02","2017-12-03","2017-12-09","2017-12-10",

"2017-12-16","2017-12-17","2017-12-23","2017-12-24",

"2018-01-06","2018-01-07","2018-01-14","2018-01-13","2018-01-21","2018-01-20","2018-01-27",

"2018-01-28","2018-02-03","2018-02-04","2018-02-10","2018-02-25","2018-03-04","2018-03-03",

"2018-03-11","2018-03-10","2018-03-18","2018-03-17","2018-03-25","2018-03-24","2018-03-31",

"2018-04-01","2018-04-15","2018-04-14","2018-04-22","2018-04-21","2018-05-06","2018-05-05",

"2018-05-13","2018-05-12","2018-05-20","2018-05-19","2018-05-26","2018-05-27","2018-06-03",

"2018-06-02","2018-06-10","2018-06-09","2018-06-24","2018-06-23","2018-06-30","2018-07-01",

"2018-07-02","2018-07-08","2018-07-07","2018-07-15","2018-07-14","2018-07-22","2018-07-21",

"2018-07-29","2018-07-28","2018-08-05","2018-08-04","2018-08-12","2018-08-11","2018-08-19",

"2018-08-18","2018-08-26","2018-08-25","2018-09-02","2018-09-01","2018-09-09","2018-09-08",

"2018-09-16","2018-09-15","2018-10-14","2018-10-13","2018-10-21","2018-10-20","2018-10-28",

"2018-10-27","2018-11-04","2018-11-03","2018-11-11","2018-11-10","2018-11-18","2018-11-17",

"2018-11-25","2018-11-24","2018-12-02","2018-12-01","2018-12-09","2018-12-08","2018-12-16",

"2018-12-15","2018-12-23","2018-12-22",

"2019-01-06","2019-01-05","2019-01-12","2019-01-13","2019-01-19","2019-01-20","2019-01-27",

"2019-01-26","2019-02-16","2019-02-17","2019-02-23","2019-02-24","2019-03-02","2019-03-03",

"2019-03-09","2019-03-10","2019-03-16","2019-03-17","2019-03-23","2019-03-24","2019-03-31",

"2019-03-30","2019-04-13","2019-04-14","2019-04-20","2019-04-21","2019-04-27"}

date_list = []

weeke = 'weekend'

holiday = 'holiday'

weekday = 'weekday'

for i in range(len(data)):

d = data[i]

d = year+ '-' + month+ '-' +day#按照自己的日期格式改成以上形式

if d in hol :

date_list.append(holiday)

elif d in weekend :

date_list.append(weeke)

else :date_list.append(weekday)

return date_list

在倒数第7行那里,要把自己的日期改成上面的形式,下面举个例子。假设我的日期格式是09/24/2018

>>> date = '09/24/2018'

>>> d = date[6:10] + '-' + date[0:2] + '-' + date[3:5]

>>> d

'2018-09-24'

自己查询真的是有点麻烦的。。不知道能不能找到更好的方法哈哈哈。有更好的方法在下面留言哦!!!!万分感谢

python周末_python区分节假日、工作日、周末相关推荐

  1. java方法 判断今天是工作日/周末/节假日

    1.工具类里静态方法 public static String request( String httpArg) {String httpUrl="http://tool.bitefu.ne ...

  2. 获取当年的法定节假日和周末_通过可配置的周末和节假日添加工作日

    获取当年的法定节假日和周末 介绍 我已经找到了一个如何计算两个日期之间的工作日数的示例,但是我还没有找到一种发布方法来添加工作日. Excel最近添加了此功能,但Microsoft尚未将其提供给Acc ...

  3. SqlServer计算2个时间的间隔时间(工作日时间),不包括法定节假日和周末

    最近在统计计算的时候,有一个需求是计算关闭时间-开始时间的小时数,但是如果中间有周末或者法定节假日不能包括在内,只计算工作日的小时数 在网上查询了很多资料后发现,有2种做法  第1种是使用存储过程的方 ...

  4. 调用免费API查询全年工作日、周末、法定节假日、节假日调休补班数据

    调用免费API查询全年工作日.周末.法定节假日.节假日调休补班数据 前言 日常开发中,难免会用到判断今天是工作日.周末.法定节假日.节假日调休补班做一些业务处理,例如:仅在上班时间给用户推送消息.本文 ...

  5. Java 根据开始日期和结束日期,获取日期之间的工作日,去除了周末和法定节假日

    输出结果: public static void main(String[] args) { String sd = "2021-02-01"; String ed = " ...

  6. sqlserver计算两个日期之间的工作日(剔除周末及法定节假日)

    sqlserver计算两个日期之间的工作日(剔除周末及法定节假日) create function [dbo].[WorkDay] ( @beginday datetime, @endday date ...

  7. JAVA判断当前时间是否为节假日、周末、工作日,简单有效!

    JAVA判断当前时间是否为节假日.周末.工作日 需求 有这么个需求,需要判断传的这个日期是否为节假日,周末,工作日,然后做剩下的操作. 话不多说,上代码 1.首先需要拿到节假日api 节假日API地址 ...

  8. 2020-2023年周末、法定节假日、工作日标签

    2020-2023年周末.法定节假日.工作日 日期 类型(0-工作日,1-周末,2-节假日) 2021-01-01 2 2021-01-02 2 2021-01-03 2 2021-01-04 0 2 ...

  9. 数据库实现计算工作日时间差--去除节假日及周末

    由于统计需求,要求计算2个时间差,并且要求去除节假日和周末的时间. 说一下需求规则: 1.如果开始时间和结束时间在一个休假时间段内,时间差为0,比如10.2到10.4这种. 2.其他情况,只计算在休假 ...

最新文章

  1. 什么时候使用webservice1
  2. 【控制】《多智能体系统一致性协同演化控制理论与技术》纪良浩老师-第15章-基于竞争关系的离散异构多智能体系统分组一致性
  3. django手机访问_Django对接支付宝电脑网站、App支付步骤详解!这个框架是真强!...
  4. Dubbo——面试问题集(1~3)
  5. 雅虎yql_从RSS Feed和YQL创建数据表
  6. 正则表达式的匹配规则
  7. 【JS】call,apply,bind
  8. linux cna12.dll,攻击 MySQL 服务器传播 GandCrab 勒索软件
  9. mysql定时异地备份_MYsql 异地备份脚本
  10. 《算法图解》读书笔记(一)
  11. git add 所有修改文件_工作中Git的使用实践
  12. 无法创建java虚拟机_java虚拟机创建失败的原因整理
  13. Iphone 5s/iPad Air/iPad Mini 2 降级10.3.3
  14. html下拉菜单右侧显示,css如何设置下拉菜单?
  15. 【上海市】青年大学习自动提醒 代码脚本
  16. 详解浮点数的精度问题
  17. JavaScript 面试题汇总
  18. 基于自适应反向学习的黏菌算法
  19. (ECCV-2018)用于视频识别的多光纤网络
  20. 网上商城系统面试时怎么说的思路

热门文章

  1. 冯唐:职场人35岁以后,方法论比经验重要
  2. 决赛名单出炉!“云”上巅峰群雄竞
  3. 睡个“好”觉,还真是有益身心胖瘦的
  4. android 项目编译报错 符号: 类 shape 位置: 程序包 android.widget
  5. RK3368-android8.1-每天凌晨3点自动重启机器
  6. vue +SpringBoot + FreeMarker + FlyingSaucer 实现PDF在线预览、打印、下载
  7. 关于ADC芯片的选型
  8. VScode 淡绿色界面
  9. 百度网盘助手-获取网盘文件的下载地址,破解限速
  10. coding coffee HTML文档