读取多个 csv 文件,添加文件名,但所有列合并?

问题描述 投票:0回答:0

我正在从一个文件夹中读取多个 csv 文件(~50)并将它们组合成一个数据框。我想保留他们的原始文件名附加到他们的数据并将其添加为自己的列。

我已经运行了这段代码:

all_paths <-
  list.files(path = "C:/Users/pwern/Documents/Maui Tiger Shark Acoustic Monitoring/Maui Tiger Shark Acoustic Monitoring/data inputs/Vemco Receiver Files/relevant maui detection files",
             pattern = "*.csv",
             full.names = TRUE)

all_content <-
  all_paths %>%
  lapply(read.table,
         header = TRUE,
         sep = "|",
         encoding = "UTF-8")

all_filenames <- all_paths %>%
  basename() %>%
  as.list()

all_lists <- mapply(c, all_content, all_filenames, SIMPLIFY = FALSE)

all_result <- rbindlist(all_lists, fill = T)

但是我的 all_result df 最终只有两列,第一列是我所有的数据组合成一列,第二列是文件名。我无法弄清楚分离哪里出了问题?预先感谢您的帮助

import lapply coercion
© www.soinside.com 2019 - 2024. All rights reserved.