Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在处理之前从rrule中排除日历假日_Python_Rrule_Python Dateutil - Fatal编程技术网

Python 在处理之前从rrule中排除日历假日

Python 在处理之前从rrule中排除日历假日,python,rrule,python-dateutil,Python,Rrule,Python Dateutil,我使用的是包中的方法。我想创建一个规则,可以忽略假日日历中的日期。我知道exdate()方法,但它似乎只会从输出列表中过滤已生成的日期 从dateutil.rrule导入* 从日期时间导入日期时间 set=rruleset() set.rrule(rrule(MONTHLY,count=4,bysetpos=-1,byweekday=(MO,TU,WE,TH,FR),dtstart=datetime(2013,1,1))) 打印(列表(套)) #输出4个日期,不带exdate()调用 #打印:[

我使用的是包中的方法。我想创建一个规则,可以忽略假日日历中的日期。我知道exdate()方法,但它似乎只会从输出列表中过滤已生成的日期

从dateutil.rrule导入*
从日期时间导入日期时间
set=rruleset()
set.rrule(rrule(MONTHLY,count=4,bysetpos=-1,byweekday=(MO,TU,WE,TH,FR),dtstart=datetime(2013,1,1)))
打印(列表(套))
#输出4个日期,不带exdate()调用
#打印:[datetime.datetime(2013,1,31,0,0),datetime.datetime(2013,2,28,0,0),datetime.datetime(2013,3,29,0,0),datetime.datetime(2013,4,30,0,0)]
set.exdate(日期时间(2013,2,28,0,0))
名单(套)
#仅输出3个日期,忽略exdate()中提供的日期
#打印:[datetime.datetime(2013,1,31,0,0),datetime.datetime(2013,3,29,0,0),datetime.datetime(2013,4,30,0,0)]

我希望rrule做的不是省略日期时间(2013,2,28,0,0),而是根据原始规则查找下一个最佳日期,即本例中的日期时间(2013,2,27,0,0)。你知道我怎样才能做到这一点吗?

这是一个很老的问题,但你找到解决这个问题的方法了吗?我正在考虑一种自定义逻辑,它根据“假日”检查结果日期,并将日期向后或向前移动,直到下一个有效日期day@DasBoot现在每当我需要处理假期时,我都倾向于使用熊猫。查看日期偏移;这可能会有帮助。@BlairAzzopardi,如果现在通过熊猫解决了这个问题,你还想继续回答这个问题吗?有更好的方法来解决这个问题,有新的pandas和python选项。@JoeFerndz我觉得最好把这个问题留着不回答。如果将来有人有同样的问题,他们可以通过看到这里没有答案来节省自己的时间。他们还可以检查这些注释以找到解决方法(目前是熊猫,但可能还有其他方法)。也许哪怕有一天python dateutil也会支持rrules中的假日。更重要的是,这也与其他语言中的rrule本身有关,因为在其他语言中,它不是panda=)