Я знаю, что параметр startRow
в функции read.xlsx
в openxlsx
позволяет мне читать файл, начиная с указанной строки. Мне нужно загрузить 300 файлов xlsx, к сожалению, количество строк, которые я хочу пропустить, различается между файлами. Я всегда хочу, чтобы первая строка содержала слово «CPT» во втором столбце. Есть ли способ установить startRow
для параметра сопоставления текста? На картинке ниже я бы установил для startRow значение 6, но в других случаях это 4 или 3.
Может быть, стоит прочитать дважды (1-й: прочитать несколько строк столбцов 1 и 2 и получить startRow
).
Примечание. Я предположил, что ячейки, которые вы хотите пропустить, находятся в col1 (по крайней мере).
А с помощью 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)