首页 > 解决方案 > 将多个csv读入一个并根据文件名添加一个新列

问题描述

使用此选项,可以将特定路径的所有 csv 读入一个数据框库(dplyr)库(stringr)

library(data.table) 

setwd("C:/Users/User/Desktop/myfile")
files <- list.files(path = "C:/Users/User/Desktop/myfile",pattern = ".csv")
temp <- lapply(files, fread, sep=",")
data <- rbindlist( temp )

什么命令最适合添加每行都有文件名的列?

标签: r

解决方案


您想为每个 data.frame 添加一列,并带有文件名?

在 rbindlist 之前做呢?

temp <- lapply(files,fread,sep=",")
temp <- for(i in seq_along(temp)) temp[[i]] = cbind(File=files[i],temp[[i]])
data <- rbindlist( temp )

推荐阅读