我可以使用 fread 下载文件夹中的所有文件吗?
Can I use fread to download all the files in a folder?
我有一个包含三十个文件的文件夹,每个大约 0.5GB。
我想将它们全部读入一个数据table。理想情况下,我也想只读入具有特定单词的文件。
我正在使用数据 table,所以我想尽可能使用 fread
。我尝试将文件夹放入无效的路径参数中。
我正在尝试这种方法,我想知道是否有更好的方法
folder <- "~/Downloads/My Folder"
all.files <- list.files(path = folder, pattern = ".csv")
setwd(folder)
l <- lapply(all.files, fread, sep=",")
dt <- rbindlist( l )
setkey( dt , ID )
这些是文件名的示例
filename01_2020.csv
filename01_2019.csv
filename01_2018.csv
我们可以使用pattern
参数来匹配子字符串'filename',后跟一个或多个数字(\d+
),然后是_
,四位数字('year') 和字符串末尾 ($
) 的 .csv
all.files <- list.files(path = folder, pattern = "^filename\d+_\d{4}\.csv$")
l <- lapply(all.files, fread, sep=",")
dt <- rbindlist(l )
setkey(dt, ID)
unique(dt, by = 'ID')
我有一个包含三十个文件的文件夹,每个大约 0.5GB。
我想将它们全部读入一个数据table。理想情况下,我也想只读入具有特定单词的文件。
我正在使用数据 table,所以我想尽可能使用 fread
。我尝试将文件夹放入无效的路径参数中。
我正在尝试这种方法,我想知道是否有更好的方法
folder <- "~/Downloads/My Folder"
all.files <- list.files(path = folder, pattern = ".csv")
setwd(folder)
l <- lapply(all.files, fread, sep=",")
dt <- rbindlist( l )
setkey( dt , ID )
这些是文件名的示例
filename01_2020.csv
filename01_2019.csv
filename01_2018.csv
我们可以使用pattern
参数来匹配子字符串'filename',后跟一个或多个数字(\d+
),然后是_
,四位数字('year') 和字符串末尾 ($
) 的 .csv
all.files <- list.files(path = folder, pattern = "^filename\d+_\d{4}\.csv$")
l <- lapply(all.files, fread, sep=",")
dt <- rbindlist(l )
setkey(dt, ID)
unique(dt, by = 'ID')