r - 在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.所以我的问题是:
- 我的 zip 中有 csv 文件,但
R
一直报告没有这样的文件,为什么? - 为什么这些文件在我的循环中正常提取,但不能通过单行
unzip
函数解压缩?
谁能帮我解决这个错误?
解决方案
解决了!!!
我忘了提到我所做的所有工作都是基于 R Server 的,即我在云上工作。
看来我们公司只为我们提供了有限的 RStudio 云空间,所以这个错误与unzip
或我的zip files
. 一旦我分配的服务器无法存储任何byte
文件,解压缩将停止。
希望这会帮助其他一些遇到类似问题的人。
推荐阅读
- reactjs - 如何将 aa 参数传递给 map() 函数中的事件处理程序?
- python - 如何同时分析和流式传输 RaspberryPi 视频
- arrays - 一次性生成自定义图案编号序列
- python - 大型嵌套数据字典仅使用“最后一个键”
- c# - BundleTransformer:引导 SASS
- python - 创建时未定义错误选择您自己的冒险
- r - 从 attr 中提取 R 中的数据标签并添加为对应于变量/列名的列
- javascript - 在 d3.js 中,将相同数据重新添加到选择时,enter() 选择不为空?
- python - 如何在不先将文件保存到磁盘的情况下将“qrcode.make”的结果传递给 Flask 的“send_file”?
- c++ - C ++从文本文件中读取每一行并在向量中安全