西班牙
斯潘4
收入评论·
像变压器一样好。我有一个pythoncaller,但它不像变压器那样直观。
假日的输入端口很容易处理。只需创建一个csv或一个包含假日日期的数据库表,然后在工作区中首先读取它。
我偷了《奥德赛》的剧本工作日包装并用于蟒蛇身上:
import fme import fmeobjects from datetime import timedelta from datetime import datetime(周一、周二、周三、周四、周五、周六、周日)=范围(7)周末=(周六、周日)定义网络天数(开始日期、结束日期、假日=[]):delta天数=(结束日期-开始日期)。天+1整周,额外天数=divmod(delta天数,7)num_u work days=你每周工作多少天*总周数num戋u workdays=(full戋u weeks+1)*(7-len(weeks))减去范围(1,8-额外工作日:if(结束日期+时间增量(d)).weekday()不在周末:num庘workdays-=1庘跳过周末假日的假日=[x表示假日中的x,如果x.weekday()不在周末]庘减去假日中d的任何假日:if start庘date<=d<=结束日期:num庘workdays-=1 return num庘workdays def processfeature(feature):start庘date=datetime.strptime(str(feature.getattribute(“py start date”),%y%m%d”).date()结束日期=datetime.strptime(str(feature.getattribute(“pyenddate”),%y%m%d”).date()假日=[datetime.strptime(date,“%y%m%d”).date()用于feature.getattribute(“py holidays”).split(“u”)]feature.setattribute(“py\u networkdays”,networkdays(开始日期,结束日期,假日)
作为输入属性PystartDate公司,请Pyendate公司在里面%是%m%d格式(FME日期,例如:20170521)和节假日在相同的%y%m%d中,由216;连接(下划线,例如:20171225_20171226)。
输出(属性公开)是网络日是的。
纳撒那塔夫亚搏在线评论·
用蟒蛇和python工作日实用程序暂时可以提供脚本化的解决方案。该实用程序模拟excel networkdays函数,该函数接受开始日期、结束日期和假日列表。
分享你的好主意,或者投票支持别人的想法。
?2019安全亚搏在线软件公司|合法的