r - 如何一次导入多个.csv文件?

标签 r csv import r-faq

假设我们有一个包含多个data.csv文件的文件夹,每个文件包含相同数量的变量,但每个变量来自不同的时间。
R中是否有一种方法可以同时导入它们,而不必分别导入它们?

我的问题是我有大约2000个数据文件要导入,而仅通过使用以下代码就可以分别导入它们:

read.delim(file="filename", header=TRUE, sep="\t")

不是很有效。

最佳答案

类似于以下内容应导致每个数据帧在单个列表中作为单独的元素:

temp = list.files(pattern="*.csv")
myfiles = lapply(temp, read.delim)

假设您在单个目录(当前工作目录)中拥有这些CSV,并且所有这些CSV都具有小写的扩展名.csv

如果然后要将这些数据帧组合为一个数据帧,请使用do.call(rbind,...)dplyr::bind_rows()data.table::rbindlist()之类的内容查看其他答案中的解决方案。

如果您确实希望将每个数据帧都放在一个单独的对象中,尽管通常不建议这样做,则可以使用assign进行以下操作:
temp = list.files(pattern="*.csv")
for (i in 1:length(temp)) assign(temp[i], read.csv(temp[i]))

或者,不使用assign并演示(1)如何清理文件名和(2)显示如何使用list2env,可以尝试以下操作:
temp = list.files(pattern="*.csv")
list2env(
  lapply(setNames(temp, make.names(gsub("*.csv$", "", temp))), 
         read.csv), envir = .GlobalEnv)

但同样,通常最好将它们放在一个列表中。

关于r - 如何一次导入多个.csv文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47032988/

相关文章:

java - 为什么只自动导入 java.lang 包?

python - 使用 python 和 PIL 模块导入 PPM 图像

python - R 中是否有类似于 Python 的 % 的字符串格式化运算符?

r - 添加距离比例尺

r - 将 XTS 对象转换为 data.frame

r - 如何定义 `f_n-chi-square and use ` uniroot` 的函数来查找置信区间?

python - 在python中解析双管道分隔文件

csv - Netlogo 导出/Tableau 问题

python - 如何将具有交替观察的列表合并为一个列表

r - 如何使用redcapAPI包中的exportRecordsTyped函数导入不带因素的数据?