Объединение нескольких листов из нескольких файлов Excel в один фрейм данных - PullRequest
0 голосов
/ 20 февраля 2019

Я хочу взять данные из отдельных ячеек, распределенных по двум рабочим листам в одной рабочей книге, записать их в одну строку в новой «консолидированной» электронной таблице, а затем повторить для всех рабочих книг в указанной папке.

IЯ пытаюсь вытянуть определенные ячейки и записать их в одну строку.

Ячейки D1, D4 и D7 нужно потянуть на листе 1, а также B4-F6 (прямоугольник) на листе 2.

Пока я могу определить правильную папку, а также получить нужные мне данные, однако это только для одного именованного файла за раз.

Что я не могу сделать, это использовать read_xlsx на нескольких листах на несколькихрабочие книги сразу.

Благодарен за любые советы.

Некоторый код, который я (безуспешно) использую ниже.

, следующее находит папку

file.list <- list.files(path="FILE PATH", pattern="*.xlsx", full.names=TRUE, recursive=FALSE)

Следующее я могу работать только для одного ноутбука за раз

В идеале я мог бы использовать «file.list», описанный выше.Кроме того, я могу вытащить только прямоугольник, а не три конкретные ячейки без повторения кода три раза (что не проблема, если это мое единственное решение)
Info <- read_xlsx("FILE PATH", sheet = 1, range = "G6:G12",  col_names = FALSE,
col_types = "guess" ,  na = "", trim_ws = TRUE, skip = 0,
# n_max = Inf, guess_max = min(1000, n_max),
progress = readxl_progress(), .name_repair = "unique")

Amount <- read_xlsx("FILE PATH", sheet = 2, range = "D4:G6", col_names = FALSE,
col_types = "numeric" ,  na = "", trim_ws = TRUE, skip = 0,
# n_max = Inf, guess_max = min(1000, n_max),
progress = readxl_progress(), .name_repair = "unique")
, и у меня смешанный успех с lapply / sapply
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...