我正在尝试使用原始文件名从工作目录中的所有文件创建对象。我试图走以下道路,但无法解决出现的问题。
# - SETTING WD
getwd()
setwd("PATH TO THE FILE")
library(readxl)
# - CREATING OBJECTS
file_objects <- list.files()
xlsx_objects <- unlist(grep(".xlsx",file_objects,value = T))
for (i in xlsx_objects) {
xlsx_objects[i] <- read_xlsx(xlsx_objects[i], header = T)
}
我试图从"xlsx_objects"中paste
[i]item 并带有 WD 的路径,但它只从 WD 中的文档中创建了一个文件名列表。 我还发现信息,read.csv
一次只能读取一个文件,但我想 for 循环应该是这种情况,对吧?它一次只读取一个文件。
使用lapply
(如本论坛中所述)我能够在环境中获取数据,但论证header
不起作用,我在那个没有所需结构的对象中丢失了我的文档名称。我正在寻找将这些文件放在单独的对象中,而无需专门调用每个文档。
IIUC,你可以做这样的事情:
files = list.files("PATH TO THE FILE", full.names = T, pattern = 'xlsx')
list_files = map(files, readxl::read_excel)
(不能使用read.csv
读取 excel 文件)
此外,我建议阅读有关 R 项目的信息,这样您就不必再使用setwd()
,这使您的代码更难在管道中重现