首页 > 解决方案 > 在R中解压缩文件时如何解决没有文件错误?

问题描述

1. 我遇到的问题

这些天我发生了一个非常奇怪的错误。我编写了一个循环来提取磁盘中的数百个 zip 文件。事情最初运作良好,但它会在某个时候卡住并报告如下错误消息:

> extractResult <- extract(zipDir="/home/rstudio/Nick/00.Viscosity Modeling/Data")
Extracting  1 / 383  batch:  F-171204-00040 --- *INVALID*
Extracting  2 / 383  batch:  F-171207-00005 --- *INVALID*
Extracting  3 / 383  batch:  F-171211-00005.1 --- *INVALID*
......
Extracting  56 / 383  batch:  F-180621-00039 --- *INVALID*
Extracting  57 / 383  batch:  F-180621-00043 --- :)

Error in unzip(zips, exdir = to_dir) : 
  cannot open file '/home/rstudio/Nick/00.Viscosity Modeling/Data/Extract/F-180625-00014/Material.csv': No such file or directory
In addition: Warning messages:

然后我尝试单独解压缩此文件,但同样的错误发生并发生。所以我尝试解压缩另一个F-180621-00043.zip已成功解压缩的文件,但最奇怪的是它无法解压,上面列出的所有 zip 文件都一样:

    > unzip("/home/rstudio/Nick/00.Viscosity Modeling/Data/archive/F-180621-00043.zip"
           ,exdir="/home/rstudio/Nick/00.Viscosity Modeling/Data")

    Error in unzip("/home/rstudio/Nick/00.Viscosity Modeling/Data/archive/F-180621-00043.zip",  : 
       cannot open file '/home/rstudio/Nick/00.Viscosity Modeling/Data/F-180621-00043/Material.csv':
       No such file or directory

我的第一个想法是这些文件已损坏,因此我添加了list属性,但看起来它们已准备好解压缩:

    > unzip("/home/rstudio/Nick/00.Viscosity Modeling/Data/archive/F-180621-00043.zip"
           ,exdir="/home/rstudio/Nick/00.Viscosity Modeling/Data",list=T)

                             Name   Length                Date
    1 F-180621-00043/Material.csv     6486 2020-04-24 06:30:00
    2  F-180621-00043/Quality.csv      330 2020-04-24 06:30:00
    3   F-180621-00043/Sensor.csv 93801262 2020-04-24 06:30:00

2.所以我的问题是:

  1. 我的 zip 中有 csv 文件,但R一直报告没有这样的文件,为什么?
  2. 为什么这些文件在我的循环中正常提取,但不能通过单行unzip函数解压缩?

谁能帮我解决这个错误?

标签: rdata-cleaningunzip

解决方案


解决了!!!

我忘了提到我所做的所有工作都是基于 R Server 的,即我在云上工作。

看来我们公司只为我们提供了有限的 RStudio 云空间,所以这个错误与unzip或我的zip files. 一旦我分配的服务器无法存储任何byte文件,解压缩将停止。

希望这会帮助其他一些遇到类似问题的人。


推荐阅读