r - 编写一个包含日期范围的循环
问题描述
我有一个每天自动运行的 R 脚本。问题是,最终输出中出现了一个小错误,导致我需要再次运行过去两个月。看到文件的巨大大小如何阻止我一次拉动,我需要设计一个每天都执行此操作的脚本。这是我今天运行脚本时的样子:
user_query = paste("SELECT
i.value_1,
c.value_2
FROM logs.imp i
LEFT JOIN
logs.click c
ON i.id = c.id
WHERE i.event_date = DATE('2018-08-23')
AND i.advertiser_id IN (", paste(id_query$user_id, collapse = ", "), ")
GROUP BY 1,2
;", sep = '')
results_query <- dbGetQuery(con, user_query)
currentDate <- Sys.Date()
txtUserQuery <- paste("/home/jsmith/user_query_", currentDate,".txt",sep="")
write.table(user_query, file = txtUserQuery, sep = "|")
outputDir <- "/Users/jsmith"
outputFileName <- paste("user_query_", currentDate,".txt",sep="")
outputFile <- paste(outputDir, outputFileName, sep = "/")
handle <- getCurlHandle()
ftpUpload(what = outputFile, to = paste("ftp://ftp@ftp.xxx.com/Up/user_query_", currentDate,".csv",sep=""), userpwd = "xxxx:xxxxx", curl = handle)
请注意作为WHERE i.event_date = DATE('2018-08-23')
运行的 SQL 查询的一部分的行。我需要做的是设计一个循环来运行该脚本,但每个日期都返回到2018-07-01
. 因此,这意味着不仅上述线路受到影响,而且涉及该currentDate <- Sys.Date()
部件的任何实例都受到影响。
因此,如果您有WHERE i.event_date = DATE('2018-08-23')
,那么CurrentDate
变量应该是2018-08-23
,允许txtUserQuery
看起来像"/users/jsmith/user_query_2018-08-23.txt"
所以在2018-07-01
CurrentDate 将被存储为并且2018-07-01
它将是"/users/jsmith/user_query_2018-07-01.txt"
(以及在每个日期的初始等)。PASTE
user_query
解决方案
推荐阅读
- ios - 如何更改 Mapbox 中除目的地以外的位置的标记?
- reactjs - 如何将旋转条传递给 ReactJS 中的另一个组件
- sql - 如何计算 varchar 字段中的每个字符?
- java - 获取选定的 LOV 值并在其他字段中显示相应的数据
- javascript - 如何使用 Plotly 在散点极坐标图中使用径向轴值创建圆形带
- android - 如何为 Kotlin-reflect 设置 proguard?
- android - 在运行时更改字体大小android
- apache-kafka - 为什么Kafka集群运行时/controller znode下没有节点?
- postgresql - spring boot 找不到 postgresql 函数(数据类型不匹配)
- python-3.x - 排序数据框后重置索引