Как мы можем использовать read_excel для чтения файлов .xlsx в R? - PullRequest
0 голосов
/ 22 января 2020

Я хочу прочитать все файлы Excel один за другим в переменную temp.data. Есть ли способ сделать это? Я пробовал это

for (i in 1:15) {
temp.data <- read_excel(file.path("../source",files$file_path[[i]]))
}

Или есть альтернативный способ НЕ использовать здесь для l oop?

Заранее спасибо:)

Ответы [ 3 ]

1 голос
/ 22 января 2020

Если вы хотите, чтобы выходной файл находился во фрейме данных, а у вас есть соответствующие файлы в папке «source», необходимо выполнить следующее:

purrr::map_dfr(list.files("../source", full.names = TRUE), read_excel)

Если у вас есть только указанные c файлы, включенные в вектор, как видно из вашего кода, это может вам пригодиться:

purrr::map_dfr(file.path("../source",files$file_path), read_excel)
1 голос
/ 22 января 2020

Для сохранения полученных data.frame s в списке вы можете сделать:

lapply(file.path("../source", files$file_path), read_excel)
0 голосов
/ 22 января 2020

Вы можете использовать функцию de map из пакета purrr:

your_path = "C:\...\2_souce_data"
files_xlsx <- list.files(your_path, pattern = ".xlsx", full.names = T)

temp.data = map(files_xlsx, read_excel, sheet = "your_sheet_index_or_name", col_names =TRUE)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...