首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >fread:找不到文件

fread:找不到文件
EN

Stack Overflow用户
提问于 2014-10-10 14:57:22
回答 2查看 3.4K关注 0票数 3

我试图使用freaddata.table包中打开一个2.2G文件,但仍然会出现相同的错误(对于其他文件,这些文件不太困难):

代码语言:javascript
复制
library(data.table)
data.table 1.9.4  For help type: ?data.table
*** NB: by=.EACHI is now explicit. See README to restore previous behaviour.

train  = data.table::fread('train.csv')

Error in data.table::fread("train.csv") : file not found: train.csv

当然,文件是存在的(read.csv()工作,但非常慢)。我在i686上运行Ubuntu12.04LTS。感谢你的帮助!

注意到:我正在试图读取的文件是‘tra.gz’,可以在:https://www.kaggle.com/c/tradeshift-text-classification/data找到。

这是一个2.2G的csv文件,非常标准。

编辑:当我使用verbose=TRUE时,它说:

Input contains no \n. Taking this to be a filename to open

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-22 16:36:38

为了结束这个话题:我把我的Ubuntu升级到x86-64,现在fread工作得很好。

只是一个总结,以帮助开发人员:

1-下载了一个大型文件(本例中为2.2g)

2-尝试使用fread读取,并获得错误:file not found: train.csv

我使用的是Ubuntu12.04LTS x86和R上一个稳定版本。

正如所指出的,较小的文件在这个场景中工作(~731 MB)。无论如何,谢谢你的帮助!

票数 2
EN

Stack Overflow用户

发布于 2016-01-28 00:18:03

要在32位Linux系统上打开大文件,需要向O_LARGEFILE函数提供一个fread选项,而fread不这样做。这是一个实际失败的open调用,但错误地报告为“文件未找到”错误。

启用大型文件支持的另一种方法是在安装包时将一个-D_FILE_OFFSET_BITS=64选项传递给编译器。卸载并删除data.table,将以下内容放入~/.R/Makevars

代码语言:javascript
复制
CFLAGS=-D_FILE_OFFSET_BITS=64

然后发布R CMD INSTALL /path/to/data.table_X.Y.Z.tar.gz。新安装的软件包将在32位系统上成功地打开大文件。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26302318

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档