如何一次导入多个.csv文件?假设我们有一个包含多个data.csv文件的文件夹,每个文件包含相同数量的变量,但每个变量都来自不同的时间。R中有没有办法同时导入它们而不必单独导入它们?我的问题是我有大约2000个数据文件要导入,只需使用代码就可以单独导入它们:read.delim(file="filename", header=TRUE, sep="\t")不是很有效率。
4 回答
天涯尽头无女友
TA贡献1831条经验 获得超9个赞
除了lapply
在R中使用或其他一些循环结构外,您还可以将CSV文件合并到一个文件中。
在Unix中,如果文件没有标题,那么它就像以下一样简单:
cat *.csv > all.csv
或者如果有标题,你可以找到一个匹配标题和只有标题的字符串(即假设标题行都以“Age”开头),你会这样做:
cat *.csv | grep -v ^Age > all.csv
我认为在Windows中你可以用DOS命令框COPY
和SEARCH
(或者FIND
什么)来做这个,但为什么不安装cygwin
并获得Unix命令shell的强大功能呢?
PIPIONE
TA贡献1829条经验 获得超9个赞
这是我开发的将所有csv文件读入R的代码。它将为每个csv文件单独创建一个数据帧,并为数据框创建文件的原始名称(删除空格和.csv)我希望你发现它很有用!
path <- "C:/Users/cfees/My Box Files/Fitness/"
files <- list.files(path=path, pattern="*.csv")
for(file in files)
{
perpos <- which(strsplit(file, "")[[1]]==".")
assign(
gsub(" ","",substr(file, 1, perpos-1)),
read.csv(paste(path,file,sep="")))
}
- 4 回答
- 0 关注
- 1814 浏览
添加回答
举报
0/150
提交
取消