Я хочу прочитать большой файл, используя read.csv
в R
. Теперь один способ получить строки, соответствующие одному шаблону, - сначала получить все строки в data-frame
, а затем фильтровать только требуемые строки. Проблема с этим подходом заключается в том, что размер файла слишком велик, и все данные могут не помещаться в памяти на некоторых машинах. Так можно ли использовать grep
или что-то подобное вместе с read.csv
, чтобы получить только несколько строк, которые представляют интерес?Как использовать read.csv для чтения только тех строк, которые соответствуют некоторому регулярному выражению?
0
A
ответ
3
Вы не можете использовать read.table
и его производных для этой цели. Однако вы можете использовать readLines
для чтения данных в кусках и применить свое регулярное выражение к каждому элементу, что соответствует строке.
Другой альтернативой было бы использовать базу данных как основы. Package sqldf
может считывать файл csv в базу данных SQL. Вы можете использовать SQL-запрос для чтения только желаемых строк.
Смежные вопросы
- 1. печать только части, которые соответствуют регулярному выражению
- 2. Поиск тех частей строки, которые не соответствуют регулярному выражению
- 3. Заменить все вхождения, которые соответствуют регулярному выражению
- 4. Scrapy следующие ссылки, которые соответствуют регулярному выражению
- 5. Capture всех группы, которые соответствуют регулярному выражению
- 6. Найти символы, которые соответствуют регулярному выражению Установят
- 7. Сохраняя только значения, которые соответствуют регулярному выражению в файле
- 8. Как отфильтровать элементы, которые не соответствуют регулярному выражению?
- 9. Как я могу легко удалить строки, которые соответствуют некоторому регулярному выражению из файлов с последними изменениями
- 10. Удалить все строки, которые не соответствуют регулярному выражению в Notepad ++
- 11. Как удалить строки из файла, которые не соответствуют регулярному выражению?
- 12. Использование Neo4j, как искать все узлы для тех, которые соответствуют регулярному выражению property.value
- 13. Как отобразить список символов, которые не соответствуют регулярному выражению?
- 14. Как сохранить части строки, которые соответствуют регулярному выражению в r?
- 15. Поиска полей, которые не соответствуют регулярному выражению в MongoMapper
- 16. Удалить строки в разделителях, за исключением тех, которые соответствуют регулярному выражению
- 17. XSLT удалить элементы, которые не соответствуют регулярному выражению
- 18. применить регулярное выражение на множество строки, которые соответствуют регулярному выражению
- 19. Получить XPATH слов HTML, которые соответствуют регулярному выражению
- 20. Почему пустые строки соответствуют этому регулярному выражению?
- 21. Удалить записи, которые соответствуют регулярному выражению с помощью sed
- 22. php собирает все значения, которые соответствуют регулярному выражению
- 23. Удалить фрахтователей, которые не соответствуют динамическому регулярному выражению
- 24. Игнорировать электронные письма, которые соответствуют регулярному выражению в Postgres
- 25. Удалить элементы из массива, которые не соответствуют регулярному выражению
- 26. Stream или Iterator для генерации всех строк, которые соответствуют регулярному выражению?
- 27. Как обновить части строки, которая соответствует некоторому регулярному выражению
- 28. Как определить максимальную и минимальную длину строк, которые соответствуют данному регулярному выражению
- 29. Как извлечь номера строк, которые соответствуют регулярному выражению в текстовом файле
- 30. Найти подписок строк, которые соответствуют регулярному выражению, которое требует упорядоченного включения из другого списка
Вы можете использовать 'grep' (или' awk') в оболочке/терминал, чтобы отфильтровать определенные строки, отправить в новый файл, а затем прочитать файл в R. В противном случае вы можете считывать данные кусками затем процеживают куски –
Спасибо за вашу помощь @RichardScriven. Я смотрел, если что-нибудь доступно в 'R' для этого, используя' read.csv' и 'regex' или что-то подобное. – Sangram
Вы можете использовать команды оболочки с 'fread' из' data.table'. См. http://stackoverflow.com/questions/22229109/r-data-table-fread-command-how-to-read-large-files-with-irregular-separators для примера. –