【问题标题】:Using R functions lapply and read.sql.csv使用 R 函数 lapply 和 read.sql.csv
【发布时间】:2013-02-14 13:44:36
【问题描述】:

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

有人成功了吗?

【问题讨论】:

  • 您希望文件是不同的数据帧还是全部合并为一个?

标签: sql r csv lapply


【解决方案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")

【讨论】:

    猜你喜欢
    • 2017-09-01
    • 1970-01-01
    • 2020-05-08
    • 1970-01-01
    • 2016-05-18
    • 1970-01-01
    • 2016-09-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多