我正在尝试使用R下载并解压缩zip文件。每当我这样做时,都会收到错误消息
解压缩时出错(temp,list = TRUE):'exdir'不存在
我正在使用基于Stack Overflow问题Using R to download zipped data file, extract, and import data
的代码举一个简化的例子:
# Create a temporary file
temp <- tempfile()
# Download ZIP archive into temporary file
download.file("http://cran.r-project.org/bin/windows/contrib/r-release/ggmap_2.2.zip",temp)
# ZIP is downloaded successfully:
# trying URL 'http://cran.r-project.org/bin/windows/contrib/r-release/ggmap_2.2.zip'
# Content type 'application/zip' length 4533970 bytes (4.3 Mb)
# opened URL
# downloaded 4.3 Mb
# Try to do something with the downloaded file
unzip(temp,list=TRUE)
# Error in unzip(temp, list = TRUE) : 'exdir' does not exist
到目前为止我尝试过:
R版本2.15.2
R-Studio版本0.97.306
修改:如果我使用unz代替unzip,则代码可以正常运行,但我无法弄清楚为什么有效,而另一种无效。来自CRAN指导:
答案 0 :(得分:7)
在Windows设置上: 当我将exdir指定为路径时,我遇到了这个错误。对我来说,解决方案是删除路径名中的尾部/或\\。
这是一个例子,它创建了新文件夹(如果它尚不存在)
locFile <- pathOfMyZipFile
outPath <- "Y:/Folders/MyFolder"
# OR
outPath <- "Y:\\Folders\\MyFolder"
unzip(locFile, exdir=outPath)
答案 1 :(得分:2)
迟了几年但我在尝试使用unzip()
时仍然遇到此错误。它似乎是一个错误,因为unzip
状态的手册页指定了exdir
,它将被创建:
exdir将文件解压缩到的目录(相当于unzip -d)。 如有必要,它将被创建。
我一直在使用的解决方法是手动创建必要的目录:
dir.create("directory")
unzip("file-to-unzip.zip", exdir = "directory/")
痛苦,但它似乎有效,至少对我而言。
答案 2 :(得分:0)
我在Windows 7机器上使用R3.2.1。
我发现解决此问题的方法需要几个步骤,但它对我有用:
file_url&lt; - &#34; http://your.file.com/file_name.zip&#34;
download.file(file_url,&#34; file_name.zip&#34;)
*如果您不确定您的工作目录,可以使用getwd()进行检查。如果要更改工作目录,可以使用setwd(&#34; C:users / username /...")将其设置为您想要的。
解压缩(&#34; file_name.zip&#34;,exdir =&#34; file_name&#34;)
list.files(&#34; file_name&#34;)
希望这有帮助!
答案 3 :(得分:0)
这可以表现出另一种方式,而且文档没有说明原因。 您的exdir不能以&#34; /&#34;结尾,它必须只是目标文件夹的名称。
例如,这与'exdir&#39;不存在:
paintComponent()
这很好用:
unzip(temp, overwrite = F, exdir = "data_raw/system-data/")
大概是解压缩时会看到&#34; /&#34;在exdir路径的尽头,它一直在寻找;而省略&#34; /&#34;告诉解压缩&#34;你已经找到了它,解压缩到这里&#34;。