繁体   English   中英

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

[英]How to use read.csv to read only those lines that matche with some regular expression?

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM