【问题标题】:read.csv.folder - quickly pulling pieces of data from one folderread.csv.folder - 快速从一个文件夹中提取数据
【发布时间】:2018-05-12 13:20:29
【问题描述】:

我目前正在尝试使用 map_df 代码合并两个数据文件。我已经下载了我的数据集 [https://catalog.data.gov/dataset/baby-names-from-social-security-card-applications-national-level-data] 并将其放在我的工作目录的文件位置。它是一个包含许多单独的小文件的文件。我希望使用 map_df 快速导入数据集,而不必在代码中命名每个文件。但是,当我尝试从该文件夹中提取数据时:

namedata.df <- read.csv.folder(Namedata, x = TRUE, y = TRUE, header = TRUE, dec = ".", sep = ";", pattern = "csv", addSpec = NULL, back = TRUE)

我得到一个返回: substr(folder, start = nchar(folder), stop = nchar(folder)) 中的错误: 找不到对象“名称数据”

为什么会丢失文件夹?有没有更好的方法来拉入数据文件夹?

【问题讨论】:

  • 我通常这样做的方式是使用list.files() 获取文件名列表,然后使用lapply()(或其他应用函数)调用read.csv()。伪代码:lapply(filenames, read.csv, ...)
  • @Mako212 +1 为list.files(),但对于年轻玩家来说,一个陷阱是full.names 参数默认为FALSE。将此设置为TRUE 以获取完整路径和文件名,以便read_csv() 可以找到该文件。
  • @Snubian 我有一阵子感到困惑,因为我从来没有遇到过不更改该参数的问题,但我想如果您在工作目录以外的其他东西上运行list.files(),这就是相关的。我通常 setwd() 到相关文件夹,避免这个问题。
  • 请看我的回答和其他人here。正如其他人所说,使用list.files()map 的组合将使您到达那里。请注意,问题略有不同,因为用户想要每个数据帧的最后一行,但您可以通过删除链中的最后几行轻松修改代码(即停在unnest())。

标签: r merge mapping read.csv


【解决方案1】:

试试 projectTemplate。当您运行 load.project() 命令时,它会将所有 csv、xls 文件加载为数据帧。数据框名称与文件名相同

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-04
    • 2013-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-20
    • 1970-01-01
    相关资源
    最近更新 更多