我找不到与此类似的副本,但我无法想象我是唯一遇到此问题的人。
我正在尝试从API中提取一些数据,并在链接中的日期上进行迭代。我正在使用a paste0()
,GET()
这似乎是我问题的根源。我在下面包括了一些示例代码,以演示如何设置代码。我还运行了一个for循环,以准确打印出代码在做什么,并发现该日期是以另一种格式粘贴的。API需要日期格式为YYYY-MM-DD,就像我在第一行代码中所做的那样。
当前编解码器的结构
date <- seq(as.Date("2021-01-01"), as.Date("2021-02-13"), by = "days")
> date
[1] "2021-01-13" "2021-01-14" "2021-01-15"
[4] "2021-01-16" "2021-01-17" "2021-01-18"
[7] "2021-01-19" "2021-01-20" "2021-01-21"
[10] "2021-01-22" "2021-01-23" "2021-01-24"
[13] "2021-01-25" "2021-01-26" "2021-01-27"
[16] "2021-01-28" "2021-01-29" "2021-01-30"
[19] "2021-01-31" "2021-02-01" "2021-02-02"
[22] "2021-02-03" "2021-02-04" "2021-02-05"
[25] "2021-02-06" "2021-02-07" "2021-02-08"
[28] "2021-02-09" "2021-02-10" "2021-02-11"
[31] "2021-02-12"
for(i in date){
data <- GET(paste0('https://API_Address/', i,'/More_API_Address')),
authenticate(user = 'user_name', password = 'my_password')
)
data_content <- content(data)
}
打印出这里发生的事情
for(i in date){
print(paste0("paste0('https://API_Address/',", i,"'/More_API_Address')), authenticate(user = 'user_name', password = 'my_password')")
}
[1] "'paste0('https://API_Address/',18640'/More_API_Address'), authenticate(user = 'user_name', password = 'my_password')"
[1] "'paste0('https://API_Address/',18641'/More_API_Address'), authenticate(user = 'user_name', password = 'my_password')"
[1] "'paste0('https://API_Address/',18642'/More_API_Address'), authenticate(user = 'user_name', password = 'my_password')"
....
我测试了一些单独的约会,似乎一切正常。有没有更好的方法可以遍历这些日期?
API端点的理想打印如下: https://API_Address/2021-01-01/More_API_Address
一个选项可以是
for(i in as.character(date)){
print(paste0("paste0('https://API_Address/',", i,"'/More_API_Address')), authenticate(user = 'user_name', password = 'my_password')"))
}
as.character
将强制整个向量,这是一站式解决方案,无需进行其他任何更改。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句