我可以使用fread下载文件夹中的所有文件吗?

问题描述

我有一个包含三十个文件的文件夹,每个文件约0.5GB。

我想将它们全部读取到一个数据表中。理想情况下,我还想只读入包含特定单词的文件。

我正在使用数据表,因此,如果可能,我想使用New-Item {a..z}.txt,{A..Z}.txt,{0..9}.txt 。我尝试将文件夹放入无效的path参数。

我正在尝试这种方法,我想知道是否有更好的方法

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 )

解决方法

我们可以使用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')
 

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...