如何使用read.csv只读取那些与正则表达式匹配的行?

时间:2014-10-12 05:29:59

标签: regex r csv grep

我想在read.csv中使用R阅读一个大文件。现在,获取与某些模式匹配的行的一种方法是首先获取data-frame中的所有行,然后仅过滤所需的行。这种方法的问题是文件太大,并且所有数据可能都不适合某些机器的内存。那么有什么方法可以使用grep或类似的东西与read.csv一起只获取几条感兴趣的行?

1 个答案:

答案 0 :(得分:3)

您不能将read.table及其衍生物用于此目的。但是,您可以使用readLines以块的形式读取数据,并将正则表达式应用于每个元素,这对应于一行。

另一种选择是使用像框架这样的数据库。 Package sqldf可以将csv文件读入SQL数据库。您可以使用SQL查询来只读取所需的行。