从多个.csv返回总行数

时间:2016-02-19 09:41:29

标签: r csv

我希望有人可以提供帮助,并且在搜索答案时我没有错过任何重要内容(我对R来说很新): 我试图导入多个.csv文件,然后返回每个原始文件名作为输出的行数。 csv文件名为50001.15,50002.15等

到目前为止,我有(从dir导入所有.csv)

files=list.files(pattern="*.csv")

for(file in files)

{

perpos <- which(strsplit(file, "")[[1]]==".")

assign(

gsub(" ","",substr(file, 1, perpos-1)), 

read.csv(paste("C:/Users/NAMEetc/",file,sep="")))

}

我可以进行努力 nrow(50001.15) 返回单个文件的结果,但我希望在一个过程中为所有文件执行此操作

我尝试了一大堆其他比特(如果我在这里输入它会引起太多混乱)。有没有办法将nrow返回字符串组合在一起。

非常感谢任何帮助

1 个答案:

答案 0 :(得分:0)

我们可以将files循环到list fread data.tablenrowvector,更改names中的vector个元素,使用sub

从“文件”中提取文件名
 files <- list.files(pattern='.*\\.csv', full.names=TRUE)
 library(data.table)
 lst <- lapply(files, fread)
 v1 <- sapply(lst, nrow)
 names(v1) <- sub('\\.csv', '', basename(files))