使用R函数lapply和read.sql.csv



我正在尝试使用如下列表打开多个csv文件;

filenames <- list.files("temp", pattern="*.csv", full.names=TRUE)

我发现使用lapply和read.csv打开临时目录中的所有文件的例子,但我知道我需要从文件中提取什么数据,所以为了节省阅读时间,我想使用这个的SQL扩展;

somefile = read.csv.sql("temp/somefile.csv", sql="select * from file ",eol="n")

然而,我有麻烦将这两个功能组合成一个命令,这样我就可以读取目录中的所有文件应用相同的sql查询。

有人成功地做到了吗?

如果您想要每个文件的数据名列表(假设您的工作目录包含.csv文件):

files <- list.files(".", pattern="*.csv")
df.list <- sapply(filenames, read.csv.sql,sql="select * from file ",eol="n",simplify=F)

或者如果你想把它们都组合起来:

df <- ldply(filenames, read.csv.sql,sql="select * from file ",eol="n")

最新更新