You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

执行R代码解压ZIP至临时文件夹时出现Error 1问题求助

关于eBird代码解压报错的问题解答

运行eBird相关代码时,执行解压步骤出现以下警告,导致流程中断:

Warning message:
In unzip(tmp_bcr, exdir = tmp_dir) : error 1 in extracting from zip file

涉及的代码片段:

# download bcrs
tmp_dir <- normalizePath(tempdir())
tmp_bcr <- file.path(tmp_dir, "bcr.zip")
paste0("https://www.birdscanada.org/research/gislab/download/", 
       "bcr_terrestrial_shape.zip") %>% 
  download.file(destfile = tmp_bcr)
unzip(tmp_bcr, exdir = tmp_dir)

你提到路径中同时存在正反斜杠:

> tmp_bcr
[1] "C:...\\AppData\\Local\\Temp\\Rtmpm8LNRB/bcr.zip"

核心结论

路径中的混合斜杠不是报错的原因。R在Windows系统下可以兼容正反斜杠混合的路径,file.path()生成这类路径属于正常情况,不会影响文件读写或解压操作。

可能的真正原因及解决办法

  1. zip文件下载损坏
    这是最常见的原因。download.file()在Windows下默认用文本模式下载,而zip是二进制文件,容易出现下载不完整的情况。修正方法是添加mode = "wb"参数:

    # 修正后的下载代码
    download.file(url = paste0("https://www.birdscanada.org/research/gislab/download/", 
                              "bcr_terrestrial_shape.zip"),
                  destfile = tmp_bcr, mode = "wb")
    
  2. 解压工具或权限问题

    • 尝试手动打开tmp_bcr对应的zip文件,如果无法打开,说明文件确实损坏,重新下载即可。
    • 如果手动能打开但R解压失败,可以指定系统自带的解压工具路径(比如7-Zip),示例:
      unzip(tmp_bcr, exdir = tmp_dir, unzip = "C:/Program Files/7-Zip/7z.exe")
      

内容的提问来源于stack exchange,提问作者Rion Lerm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 11:50:46