Создайте фрейм данных в R из грязных таблиц Excel, причем каждый фрейм данных начинается с указанного c содержимого ячейки - PullRequest
0 голосов
/ 20 февраля 2020

У меня огромное количество таблиц Excel с тем же типом контента, но для некоторых структура была изменена. Например, «Часть 2» может быть найдена на той же вкладке, что и «Часть 1» в одной электронной таблице, в то время как у другой может быть «Часть 2» в отдельной электронной таблице.

Есть ли способ получить какой-либо пакет (readxl, xlsx et c.) найдите вкладку, содержащую указанную c ячейку - «Часть 2» - и затем импортируйте из этой ячейки?

В настоящее время у меня есть:

library(readxl)
library(readxl)

path <- "C:\\Documents\\name\\spreadsheet.xlsx"

Чтобы прочитать в первых двух вкладках

tab1 <- read_excel(path, sheet = 1, range = "A1:E20")
tab2 <- read_excel(path, sheet = 2)

Затем определить, с чего начать с вкладки 2 части 1 и 2

part2start <- which(str_detect(tab2$`Part1`, "Part 2")) # this gives a number, e.g. 13L, that shows the cell with "Part 2"

tab2part1 <- read_excel(path, sheet=2, n_max = part2start - 10, skip = 12)
tab2part2 <- read_excel(path, sheet = 2, skip = part2start + 9)

Однако, «Часть 2», которая находится в tab 2 в приведенном выше примере, может фактически быть на вкладке 3. Есть ли способ распознать это на R и затем прочитать это как tab2part2, вместо того, чтобы делать выше?

Большое спасибо!

...