使用magrittr将download.file()传递给另一个函数

时间:2018-05-18 12:30:10

标签: r magrittr

如果不首先保存到临时位置,如何使用magrittrdownload.file()的输出直接传送到readxl()

例如,我有以下代码:

download.file(www, method="curl") %>%
  read_excel(x, sheet ="List 1", range="A3:L1902") -> cw

这给了我一个错误,因为我错过了destfile=参数......任何想法?

1 个答案:

答案 0 :(得分:1)

我尝试了connections的想法,但我的搜索readxl并不支持从网址阅读(您可以查看herehere)。但是,我发现了here可能对您有用的东西。

rio包有read_excel的包装,允许使用网址。 您甚至可以添加参数sheet来选择要加载的工作表。另外,根据我的经验,如果您知道要使用的文件扩展名,请添加format参数。

install.packages("rio") # if needed

df <- rio::import("https://evs.nci.nih.gov/ftp1/CDISC/SDTM/SDTM%20Terminology.xls", 
                      format = "xls", sheet = "SDTM Terminology 2018-03-30")