从工作目录打开文件
Opening files from working directory
我有以下问题。我已将多个 csv 文件导入到我的工作目录中。非常感谢任何帮助
files
[1] "sept2010.csv__001.csv" "sept2010.csv__002.csv" "sept2010.csv__003.csv" "sept2010.csv__004.csv""sept2010.csv__005.csv" "sept2010.csv__006.csv"
这里我有200多个csv文件。如果我想打开文件,我可以使用
data<-rbind(sept2010.csv__001.csv,sept2010.csv__002.csv) # It is time consuming to rbing 200 files.
当我尝试打开文件时:
myfiles = do.call(rbind, lapply(files, function(x) read.csv(x, stringsAsFactors = FALSE)))
我收到一条错误消息:
Error in file(file, "rt") : cannot open the connection
当我尝试以下操作时:
data<-do.call("rbind", lapply(files, read.csv, header = TRUE))
我收到相同的错误消息
如果我尝试使用以下方法手动打开文件:
folder <- "C:/Users/NewPap/Desktop/DATA/test"
file_list <- list.files(path=folder, pattern="*.csv")
for (i in 1:length(file_list)){
assign(file_list[i],
read.csv((paste(folder, file_list[i], sep='')))
)}
我得到同样的错误
我不确定我做错了什么。非常感谢任何帮助
如果您的所有文件都在您的工作目录中,那么
lapply(grep(".csv",list.files(full.names=T),value="TRUE"),read.csv)
应该打开列表中的所有 CSV 文件(每个文件内容将在列表的一个元素中)。
如果所有 CSV 文件的列数相同,则
do.call("rbind",lapply(grep("csv",list.files(full.names=T),value="TRUE"),read.csv))
将生成包含所有 CVS 文件的单个数据帧。
folder <- "C:/Users/NewPap/Desktop/DATA/test"
files <- list.files(path=folder, pattern="*.csv")
试试这个:
data = Map(f = read.csv,files,header=T)
Reduce(function(x,y){rbind(x,y)},data)
我有以下问题。我已将多个 csv 文件导入到我的工作目录中。非常感谢任何帮助
files
[1] "sept2010.csv__001.csv" "sept2010.csv__002.csv" "sept2010.csv__003.csv" "sept2010.csv__004.csv""sept2010.csv__005.csv" "sept2010.csv__006.csv"
这里我有200多个csv文件。如果我想打开文件,我可以使用
data<-rbind(sept2010.csv__001.csv,sept2010.csv__002.csv) # It is time consuming to rbing 200 files.
当我尝试打开文件时:
myfiles = do.call(rbind, lapply(files, function(x) read.csv(x, stringsAsFactors = FALSE)))
我收到一条错误消息:
Error in file(file, "rt") : cannot open the connection
当我尝试以下操作时:
data<-do.call("rbind", lapply(files, read.csv, header = TRUE))
我收到相同的错误消息
如果我尝试使用以下方法手动打开文件:
folder <- "C:/Users/NewPap/Desktop/DATA/test"
file_list <- list.files(path=folder, pattern="*.csv")
for (i in 1:length(file_list)){
assign(file_list[i],
read.csv((paste(folder, file_list[i], sep='')))
)}
我得到同样的错误
我不确定我做错了什么。非常感谢任何帮助
如果您的所有文件都在您的工作目录中,那么
lapply(grep(".csv",list.files(full.names=T),value="TRUE"),read.csv)
应该打开列表中的所有 CSV 文件(每个文件内容将在列表的一个元素中)。
如果所有 CSV 文件的列数相同,则
do.call("rbind",lapply(grep("csv",list.files(full.names=T),value="TRUE"),read.csv))
将生成包含所有 CVS 文件的单个数据帧。
folder <- "C:/Users/NewPap/Desktop/DATA/test"
files <- list.files(path=folder, pattern="*.csv")
试试这个:
data = Map(f = read.csv,files,header=T)
Reduce(function(x,y){rbind(x,y)},data)