由于工作需求,要对几万的数据的日期区分节假日、工作日和周末三种数据。下面是我的心得与代码,有什么问题可以尽管提出来哦。
方法一:
首先,先放一种访问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", &