Я знаю, что параметр startRow
в функции read.xlsx
в openxlsx
позволяет мне читать файл, начиная с указанной строки. Мне нужно загрузить 300 файлов xlsx, к сожалению, количество строк, которые я хочу пропустить, различается между файлами. Я всегда хочу, чтобы первая строка содержала слово CPT во втором столбце. Есть ли способ установить startRow
в параметре сопоставления текста? На картинке ниже я бы установил для startRow значение 6, но в других случаях это 4 или 3.
Использование параметра openxlsx startRow для выбора первой строки на основе содержимого файла
Ответы (1)
Может быть, стоит прочитать дважды (первый: прочитать несколько строк столбцов 1 и 2 и получить startRow
).
Примечание. Я предположил, что ячейки, которые вы хотите пропустить, находятся в столбце 1 (по крайней мере).
И с for
, sapply
и т. д., вы можете сделать это со всеми файлами.
library(openxlsx)
tmp <- read.xlsx(file, colNames = FALSE, rows = 1:10, cols = 1:2,
skipEmptyRows = FALSE)
st <- min(grep("CPT", tmp[[2]]))
d <- read.xlsx(file, startRow = st)
person
cuttlefish44
schedule
14.12.2020