Импортировать всю папку csv файлов

Мне нужно импортировать всю папку, содержащую файлы csv, и иногда это занимает до 30 минут. На данный момент я использую этот код:


data <- do.call(rbind, lapply
                 (files, read.csv, as.is=T, sep = "{", skip = 4, header = TRUE, fileEncoding="utf-16", quote = "", fill = FALSE))

Вы знаете более быстрый вариант?


person Beginner    schedule 16.11.2020    source источник
comment
вместо read.csv, возможно, вы могли бы попробовать data.table::fread, вы также можете читать только те столбцы, которые вам нужны, см. здесь   -  person user63230    schedule 16.11.2020
comment
С data.table rbindlist(lapply(files, fread)) будет намного быстрее. С dplyr и readr bind_rows(lapply(files, read_csv)) будет несколько быстрее. Вы также можете использовать vroom, который может быть быстрее или медленнее, чем data.table, в зависимости от того, что вам нужно, у них есть индивидуальная поддержка чтения нескольких файлов.   -  person Gregor Thomas    schedule 16.11.2020
comment
Ваш вопрос похож на stackoverflow.com/questions/11433432/.   -  person Gopal Srivastava    schedule 16.11.2020
comment
Спасибо за ваш вклад. К сожалению, это не так просто, потому что мне действительно нужен аргумент fileEnconding, который не поддерживается fread. Запуск read.cvs без этого аргумента приводит к ошибке в read.table (файл = файл, заголовок = заголовок, sep = sep, quote = quote,: пустое начало файла   -  person Beginner    schedule 17.11.2020