r - 循环读取多个大文件
问题描述
我正在尝试循环读取几个大文件。所以不要这样做:
library(fst)
df1 <-read_fst("C:/data1.fst", c(1:2), from = 1, to = 1000)
df2 <-read_fst("C:/data2.fst", c(1:2), from = 1, to = 1000)
df3 <-read_fst("C:/data3.fst", c(1:2), from = 1, to = 1000)
我想做这样的事情:
for(i in 1:3){
df_i <- read_fst("C:/data_i.fst", c(1:2), from = 1, to = 1000)
}
解决方案
您可以使用在给定目录list.files
中生成所有.fst
文件,然后遍历它们:
files <- list.files(pattern =".fst") # .fst files in your current directory
df_list <- rep(list(NA), length(files)) # Init list of DFs
for (i in seq_along(files))
df_list[[i]] <- fst::read_fst(files[i], ...)
- 您可以细化
pattern
arglist.files
以匹配某个模式,例如pattern = "data_\\d+.fst"
匹配data_i.fst - 您还可以通过
path
arg 指定要查看的目录并通过以下方式返回完整文件名full.names
推荐阅读
- php - 使用动态类
- java - 程序仅以特定值进入无限循环
- android - 如何在Android应用程序中多次单击按钮并更改模式
- javascript - 在javascript中将变量插入文件路径字符串
- google-apps-script - 如何根据星期几突出显示 Google 表格标签
- kubernetes-helm - Helm - 覆盖 values.yaml 中的特定值
- flutter - 背景图像不适合不同的屏幕
- julia - 尝试在奇异容器中安装系统范围的 Julia 应用程序时出现注册表问题
- sql - 在 SQL 中将 x 年添加到日期时间
- python - QListWidget 中的按钮不起作用(使用 PyQt5)