在 r 中使用 read_csv 导入多个 csv 文件

Importing multiple csv files with read_csv in r

我有一个包含多个 csv 文件名称的向量。

library(readr)
data<-c("categories.csv",
    "customers.csv",
    "employees.csv",
    "employee_territories.csv",
    "order_details.csv",
    "orders.csv",
    "products.csv",
    "regions.csv",
    "shippers.csv",
    "suppliers.csv", 
    "territories.csv")

我想在我的工作区中用 for 循环加载所有这些。

我的第一次尝试是

i<-1
for (i in data) {
  read_csv(data("i"))
}

也许有人可以帮助我。

我们可以使用map

library(purrr)
library(readr)
out_list <- map(data, read_csv)
names(out_list) <- sub("\.csv", "", data)
list2env(out_list, .GlobalEnv) # not recommended

或者使用for循环,创建一个NULL list来存储读取数据的输出,然后循环遍历'data',读取它们并将其分配给输出列表元素

out_list <- vector('list', length(data))
names(out_list) <- data
for(file in data) out_list[[file]] <- read_csv(file)

如果我们要创建多个新对象(不推荐)

for(file in data) {
    assign(sub("\.csv", "", file), read_csv(file))
 }