我想知道如何从R中的压缩文件夹(" test2.zip")中读取多个文件。
我编写了以下代码,该代码仅在压缩文件夹中只有一个文件时才有效。我需要知道如何从压缩文件夹中获取所有文件/多个文件,并使其在R中可读。 需要不同的.CSV文件作为数据帧。
test5 <- read.csv(unzip("path/test2.zip", files = NULL, list = FALSE,
overwrite = TRUE, junkpaths = FALSE, exdir = ".",
unzip = "internal",setTimes = FALSE))
此外,当我尝试将包含两个.csv文件的zip文件放入时会出现错误
文件错误(文件,&#34; rt&#34;):无效&#39;描述&#39;参数
如何读取压缩文件中包含的所有csv文件?
答案 0 :(得分:1)
这是一种方法。首先,我将2个示例文件压缩为演示目的:
write.csv(data.frame(x = 1:2, y = 1:2), tf1 <- tempfile(fileext = ".csv"))
write.csv(data.frame(x = 11:12, y = 11:12), tf2 <- tempfile(fileext = ".csv"))
zip(zipfile <- tempfile(fileext = ".zip"), files = c(tf1, tf2))
现在,解压缩......
fns <- unzip(zipfile, junkpaths = TRUE, exdir = tempdir())
list2env(setNames(lapply(fns, read.csv, row.names = 1), basename(tools::file_path_sans_ext(fns))), globalenv())
数据框存储在变量中,这些变量已由文件名命名。