我正在尝试使用R自动下载一堆zip文件。这些文件包含各种各样的文件,我只需要将其中一个加载为data.frame进行后处理即可。它有一个唯一的名称,所以我可以用str_detect()
来捕捉它。但是,使用tempfile()
无法使用list.files()
获取其中所有文件的列表。
这是我到目前为止尝试过的:
temp <- tempfile()
download.file("https://url/file.zip", destfile = temp)
files <- list.files(temp) # this is where I only get "character(0)"
# After, I'd like to use something along the lines of:
data <- read.table(unz(temp, str_detect(files, "^file123.txt"), header = TRUE, sep = ";")
unlink(temp)
我知道read.table()
命令可能不起作用,但是我认为一旦获得包含{{1内的files
列表的向量,我就能弄清楚}}。
我在Windows 7计算机上,并且正在使用R 3.6.0。
答案 0 :(得分:0)
按照前面所说的,此结构应允许您使用临时文件结构检查正确的下载:
temp <- tempfile("test.zip")
download.file("https://url/file.zip", destfile = temp)
files <- list.files(temp)