【问题标题】:Problem with merging .csv files from folder合并文件夹中的 .csv 文件时出现问题
【发布时间】:2019-08-31 20:23:06
【问题描述】:

我目前正在尝试合并计算机上一个文件夹中的多个 .csv 文件。所有这些 .csv 文件都有相同的列。在运行代码之前,我已经将我在 RStudio 中的工作目录设置为我的文件夹的位置。

folder <- "FBI_2012"
filenames <- list.files(folder)

all_files <- Reduce(rbind, lapply(filenames, read.csv))

每次我运行代码时都会遇到以下错误消息: “文件错误(文件,“rt”):无法打开连接”

【问题讨论】:

  • 您是否使用 RStudio 来运行您的代码?
  • 是的,我正在使用 RStudio。
  • 确保您位于包含FBI_2012 的目录中,并且您已将其设置为您的工作目录。您可以在Files 选项卡上使用More 子菜单并选择Set as Working Directory 来执行此操作。或者您可以在代码中为folder &lt;- "FBI_2012" 明确设置路径
  • 为了确保你的路径是正确的,不管你的工作目录是什么,总是在list.files中使用full.names = TRUE。执行filenames &lt;- list.files(folder, full.names = TRUE) 检查filenames 以查看它们是否具有正确的路径,然后将lapplyread.csv 一起使用。

标签: r


【解决方案1】:

您需要将文件夹的名称添加到您的文件中。如果所有文件中的列名都相同,则应该可以:

folder <- "FBI_2012"
filenames <- list.files(folder)

all_files <- Reduce(rbind, lapply(paste0(folder, '/', filenames), read.csv))

如果您已经在文件夹"FBI_2012" 中,那么list.files 函数将找不到任何内容。如果是这种情况,您应该使用

# Get files in current working directory
filenames <- list.files(getwd())

all_files <- Reduce(rbind, lapply(filenames, read.csv))

改为。

【讨论】:

    猜你喜欢
    • 2019-05-25
    • 2018-05-11
    • 1970-01-01
    • 1970-01-01
    • 2020-11-08
    • 2011-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多