如何获取R中的tempfile中包含的文件名的向量?

时间:2019-07-09 09:47:07

标签: r

我正在尝试使用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。

1 个答案:

答案 0 :(得分:0)

按照前面所说的,此结构应允许您使用临时文件结构检查正确的下载:

temp <- tempfile("test.zip")
download.file("https://url/file.zip", destfile = temp) 
files <- list.files(temp)