R中的自动更新日期(昨天总是查询)
Auto-update Date in R (always query yesterday)
我通常在手动更改日期时从本地系统读取这些数据,
例如,今天的日期是 11 月 2 日,就像下面 link 中的这种格式 (2021_11_02),所以我要做的是为前一天(即 2021 年 11 月 1 日)创建一个报告(2021_11_01)
我在创建报告之前手动更新了这个日期
现在我想安排自动 运行 报告本身
我如何在 r 中编写代码,自动更新报告中昨天或脚本中需要的任何地方的日期 -1 日?
有没有办法让 r 自动更新日期减 1(总是使用昨天的日期)
或
如何指示 R 在任何具有日期的脚本中自动使用一天减去一个日期
请从本地机器
查看样本link
DWReport_2021_11_01 <-read_csv("C:/Users/Guest 1/Downloads/DWReport_2021-11-01.csv")
DWReport_2021_11_01_1_ <-read_csv("C:/Users/Guest 1/Downloads/DWReport_2021-11-01 (1).csv")
match_report<-rbind(DWReport_2021_11_01,DWReport_2021_11_01_1_)
另外,我想得到一些东西来始终将日期更改为一天减去前一天每当我查询数据库时
请参阅下面的示例脚本
tbl(connect, "accotdebits")%>%
filter(dates > "1633046400" & dates < "1633910399" &
tranx_status == "Successfull")%>%
collect()
每天阅读两个问题减去本地机器上的一个
每当查询数据库时,自动将日期更新为昨天减去一天
您可以使用 Sys.Date() 获取今天的日期。您可以用负 1 简单地减去一天。
yesterday <- Sys.Date() - 1
yesterday_formatted <- format( yesterday, "%Y_%m_%d")
然后您可以在代码中使用这些值
temp <- read_csv( paste0("C:/users/guest/downloads/DWReport_", yesterday,".csv")
assign(paste0("DWReport_", yesterday_formatted), temp)
您的最终查询..您在何处查询数据库...不向数据库传递日期是否异常?这是什么味道SQL?这只是一个 Unix 时间戳吗?
如果将日期转换为 POSIXct,然后再转换为数字,则可以获得时间戳。您可能需要手动添加 HH mm...
yesterday_numeric <- as.numeric( as.POSIXct( format (yesterday, "%Y-%m-%d 00:00:00")))
tbl(connect, "accotdebits")%>%
filter(dates > yesterday_numeric & dates < (yesterday_numeric+(24*60*60)) &
tranx_status == "Successfull")%>%
collect()
我通常在手动更改日期时从本地系统读取这些数据, 例如,今天的日期是 11 月 2 日,就像下面 link 中的这种格式 (2021_11_02),所以我要做的是为前一天(即 2021 年 11 月 1 日)创建一个报告(2021_11_01)
我在创建报告之前手动更新了这个日期
现在我想安排自动 运行 报告本身
我如何在 r 中编写代码,自动更新报告中昨天或脚本中需要的任何地方的日期 -1 日?
有没有办法让 r 自动更新日期减 1(总是使用昨天的日期)
或
如何指示 R 在任何具有日期的脚本中自动使用一天减去一个日期
请从本地机器
查看样本linkDWReport_2021_11_01 <-read_csv("C:/Users/Guest 1/Downloads/DWReport_2021-11-01.csv")
DWReport_2021_11_01_1_ <-read_csv("C:/Users/Guest 1/Downloads/DWReport_2021-11-01 (1).csv")
match_report<-rbind(DWReport_2021_11_01,DWReport_2021_11_01_1_)
另外,我想得到一些东西来始终将日期更改为一天减去前一天每当我查询数据库时 请参阅下面的示例脚本
tbl(connect, "accotdebits")%>%
filter(dates > "1633046400" & dates < "1633910399" &
tranx_status == "Successfull")%>%
collect()
每天阅读两个问题减去本地机器上的一个 每当查询数据库时,自动将日期更新为昨天减去一天
您可以使用 Sys.Date() 获取今天的日期。您可以用负 1 简单地减去一天。
yesterday <- Sys.Date() - 1
yesterday_formatted <- format( yesterday, "%Y_%m_%d")
然后您可以在代码中使用这些值
temp <- read_csv( paste0("C:/users/guest/downloads/DWReport_", yesterday,".csv")
assign(paste0("DWReport_", yesterday_formatted), temp)
您的最终查询..您在何处查询数据库...不向数据库传递日期是否异常?这是什么味道SQL?这只是一个 Unix 时间戳吗?
如果将日期转换为 POSIXct,然后再转换为数字,则可以获得时间戳。您可能需要手动添加 HH mm...
yesterday_numeric <- as.numeric( as.POSIXct( format (yesterday, "%Y-%m-%d 00:00:00")))
tbl(connect, "accotdebits")%>%
filter(dates > yesterday_numeric & dates < (yesterday_numeric+(24*60*60)) &
tranx_status == "Successfull")%>%
collect()