除了速度非常快之外,包{vroom}还提供了一些很好的实用程序来处理许多文本文件.
示例:
all_files <- list.files('path/to/csv/dir', pattern = '\\.csv$', full.names = TRUE)
library(vroom)
large_files <-
all_files |>
Filter(f = \(file_name) length(vroom_lines(file_name)) > 9)
- 将大文件读取到数据框中,并将源文件的路径保留在‘SOURCE_FILE’列中(使用此列进行GroupWise数据分析,例如使用{dplyr}):
all_data <- vroom(large_files, id = 'source_file')
- 如有必要,您可以像这样 for each 源文件创建一个单独的数据帧对象;-)
large_files |>
Map(f = \(file_name) read.csv(file_name)) |>
setNames(nm = gsub('.*/(.*)\\..*', '\\1', large_files)) |>
list2env(envir = .GlobalEnv)