读取大小为53,000 MB的csv文件

时间:2015-08-18 14:48:59

标签: r csv fread read.csv

调用数据:data.csv

我尝试了read.csv('data.csv')并弹出一条错误消息,说文件太大了。

我不确定如何在这种情况下使用fread,因为当我尝试时:

require(data.table)
DT <- fread("data.csv")

那不起作用。

有什么想法吗?

我最终试图安装“bigmemory”软件包,但它说

Warning in install.packages :
  package ‘bigmemory’ is not available (for R version 3.2.0)

1 个答案:

答案 0 :(得分:0)

我建议您也尝试以下代码:

tab5rows <- read.table("datatable.txt", header = TRUE, nrows = 5)
classes <- sapply(tab5rows, class)
tabAll <- read.table("datatable.txt", header = TRUE, colClasses = classes)

详细讨论here可以显着提高阅读大文件的速度。更重要的是,第一行将使您能够在文件中查看。如果你可以打开它,机动范围很大。或者,以二进制文件读取文件是值得的:

messy_file <- readLines(file("ProblematicData.csv", "rb"), encoding="UTF-8", skipNul=TRUE)

修改

此外,我建议您查看this discussion,其中详细讨论了阅读大文件的一些选项。

我解决问题的方法是:

  1. 尝试read.table的第一个选项,或者
  2. fread尝试data.table,或者
  3. 读为二进制文件