R中的自动更新日期(总是在昨天查询)
Posted
技术标签:
【中文标题】R中的自动更新日期(总是在昨天查询)【英文标题】:Auto-update Date in R (always query yesterday)R中的自动更新日期(总是在昨天查询)
【发布时间】:2021-12-17 09:49:15
【相关技术】:@tags@
【问题描述】:
我通常在手动更改日期时从本地系统读取这些数据, 例如,今天的日期是 11 月 2 日,就像下面链接中的这种格式 (2021_11_02),所以我要做的是为前一天创建一个报告,即 2021 年 11 月 1 日 (2021_11_01)
我在创建报告之前手动更新此日期
现在我想安排自动运行报告的自动化
如何在 r 中编写代码,自动更新报告中的昨天或脚本中所需的任何地方的日期 -1?
有没有办法 r 可以将日期自动更新为负 1(总是使用昨天的日期)
或
如何指示 R 在任何有日期的脚本中自动使用一天减去一个日期
请查看本地机器上的示例链接
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()
每天阅读两个问题减去我本地机器上的一个 查询数据库时自动更新日期为减去昨天的日期
【问题讨论】:
【参考方案1】:
您可以使用 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()
【讨论】:
以上是关于R中的自动更新日期(总是在昨天查询)的主要内容,如果未能解决你的问题,请参考以下文章