2

我正在尝试使用如下列表打开多个 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 查询的目录中的所有文件。

有没有人成功做到这一点?

4

1 回答 1

1

如果您想要每个文件中的数据框列表(假设您的工作目录包含 .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")
于 2013-02-28T12:50:41.187 回答