簡體   English   中英

按表格將所有Excel文件讀入R中,文件名作為列

[英]Read All Excel Files into R by Sheet with file name as column

我有一個本地文件夾,其中包含相同格式的excel文件。 每個Excel文件有10張紙。

我希望能夠執行以下操作:

1)讀取R中的所有excel文件

2)將所有結果按表綁定在一起。

3)結果將是10個新數據幀,其中所有excel文件都綁定在一起。

4)新列將添加文件名

我已經查看了代碼,但我能找到的最好的方法是,但是按工作表卻沒有做到:

files = list.files()
library(plyr)
library(readr)
library(readxl)
data2=lapply(files, read_excel)
for (i in 1:length(data2)){data2[[i]]<-cbind(data2[[i]],files[i])}
all_data <- do.call("rbind.fill", data2) 

有人在這方面有成功嗎?

提前致謝

如果您願意,還可以使用tidyverse方法對其進行矢量化。

require(tidyverse)

df <- list.files(path = "your_path",
                       full.names = TRUE,
                       recursive = TRUE,
                       pattern = "*.xls") %>% 
tbl_df() %>%
mutate(sheetName = map(value, readxl::excel_sheets)) %>%
unnest(sheetName) %>% 
mutate(myFiles = purrr::map2(value, sheetName, function(x,y) {
    readxl::read_excel(x, sheet = paste(y))})) %>% 
unnest(myFiles)

*以某種方式我無法標記它,所以我要從這里復制答案

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM