使用R替换url链接中的参数值

时间:2018-03-12 08:00:12

标签: r url

我希望找到一种在url链接中输入参数值的方法,我用它来使用R编程访问天气数据。

在以下链接中说,我想更改

lat = 5
lon = 10

https://asdc-arcgis.larc.nasa.gov/cgi-bin/power/v1beta/DataAccess.py?&request=execute&identifier=SinglePoint&parameters=ALLSKY_SFC_SW_DWN&startDate=20150101&endDate=20150305&userCommunity=SSE&tempAverage=CLIMATOLOGY&outputList=JSON,ASCII&lat=-15.9200&lon=-47.6700

手动我能够访问信息但是如果我不希望有人触摸代码并将这些值输入到文本文件中。文本文件应该有一个url链接,并将这些值直接替换为url链接。

如果您知道任何此类方法。请指导我!

我们将非常感谢您的帮助!

此致

1 个答案:

答案 0 :(得分:1)

我们可以使用glue来执行替换,方法是将'lat','lon'包裹在大括号内{}

glue::glue("https://asdc-arcgis.larc.nasa.gov/cgi-bin/power/v1beta/DataAccess.py?&request=execute&identifier=SinglePoint&parameters=ALLSKY_SFC_SW_DWN&startDate=20150101&endDate=20150305&userCommunity=SSE&tempAverage=CLIMATOLOGY&outputList=JSON,ASCII&lat={lat}&lon={lon}")

-output

#https://asdc-arcgis.larc.nasa.gov/cgi-bin/power/v1beta/DataAccess.py?&request=execute&identifier=SinglePoint&parameters=ALLSKY_SFC_SW_DWN&startDate=20150101&endDate=20150305&userCommunity=SSE&tempAverage=CLIMATOLOGY&outputList=JSON,ASCII&lat=5&lon=10

或其他选项sprintf来自base R

sprintf("https://asdc-arcgis.larc.nasa.gov/cgi-bin/power/v1beta/DataAccess.py?&request=execute&identifier=SinglePoint&parameters=ALLSKY_SFC_SW_DWN&startDate=20150101&endDate=20150305&userCommunity=SSE&tempAverage=CLIMATOLOGY&outputList=JSON,ASCII&lat=%f&lon=%f", lat, lon)

-output

#[1] "https://asdc-arcgis.larc.nasa.gov/cgi-bin/power/v1beta/DataAccess.py?&request=execute&identifier=SinglePoint&parameters=ALLSKY_SFC_SW_DWN&startDate=20150101&endDate=20150305&userCommunity=SSE&tempAverage=CLIMATOLOGY&outputList=JSON,ASCII&lat=5.000000&lon=10.000000"