我有一个包含 5400 万行的文件,读取整个文件太大了,它不适合内存。使用 R,我想从其中一列的内容等于某个数字的文件中提取 som 100 000 行。有谁知道这是否可能无需阅读整个文件?所有列都包含整数,如果这有什么不同的话。
该文件的内容如下所示:
Date,ProductId,Stock,Price
199501,1,271,5
199501,2,145,50
199501,3,16,42
199501,4,32,45
199501,5,96,62
我有一个包含 5400 万行的文件,读取整个文件太大了,它不适合内存。使用 R,我想从其中一列的内容等于某个数字的文件中提取 som 100 000 行。有谁知道这是否可能无需阅读整个文件?所有列都包含整数,如果这有什么不同的话。
该文件的内容如下所示:
Date,ProductId,Stock,Price
199501,1,271,5
199501,2,145,50
199501,3,16,42
199501,4,32,45
199501,5,96,62
您的问题的详细信息尚不清楚,但在许多情况下,如果文件结构良好,则通过 sqldf 绕道是最快的解决方案。
http://code.google.com/p/sqldf/#Example_13._read.csv.sql_and_read.csv2.sql
如果这没有帮助,您应该通过发布一个 10 行的简短示例来提供更多详细信息,其中包括执行您想要的简单代码,即使它很慢。有人会介入并优化它,但如果没有样本数据,这是不可能的。