使用 Cronjob 更改数据 window(在 MAC 上)

Using Cronjob for changing data window (on MAC)

我有一个 python 代码(在 Jupiter Notebook 上),其中 运行 几个 SQL 通过插入给定周的数据查询和更新 Vertica 中现有的 table . 话说,每周一我运行上周的数据,每次都是手动放的,比如:

first_date = "'2019-04-15'"
last_date =  "'2019-04-21'"

有什么办法可以自动完成吗?据我所知,我可以使用 cron 来让文件 运行 给定频率,但它每次都会 运行 相同的 window 日期......你有什么想法吗完成?谢谢!

如果你总是在星期一运行,那么你可以使用下面的脚本:

import pandas as pd
startdate = (pd.to_datetime('today') + pd.DateOffset(days=-7)).strftime("%Y-%m-%d")
enddate = pd.to_datetime('today').strftime("%Y-%m-%d")
print('from: ', startdate, ' to: ', enddate)

结果:

from:  2019-04-15  to:  2019-04-22

但是如果你错过了星期一的日程安排并且已经是星期四,那么你仍然可以使用以下脚本获取上周的星期一:

import datetime
today = datetime.date.today()
startdate = today - datetime.timedelta(days=today.weekday(), weeks=1)
enddate = today - datetime.timedelta(days=today.weekday())
print('from: ', startdate, ' to: ', enddate)

结果:

from:  2019-04-15  to:  2019-04-22