如何使用 readxl 读取被空格包围的矩形

How to read rectangle surrounded by whitespace using readxl

我有一个 excel sheet,其中包含我正在尝试读入 r 的以下数据:

我想在 A3:C6 阅读 table。但是,此数据的维度可能会发生变化。我想将其定义为数据从左上角的 A3 开始,到右边的空白处停止,最后是底部的空白处。

我目前正在使用 read_xlsx(skip = 2),但这也显示在第 8 行,我不想要它。

下面的代码似乎可以满足问题的要求。它基于 readxl::read_xlsx returns NA 用于空单元格这一事实。

df1 <- readxl::read_xlsx(xl_filename, skip = 2)

i_col <- which(sapply(df1, function(x) all(is.na(x))))
i_col <- i_col[which(i_col == min(i_col))]
i_row <- which(apply(df1, 1, function(x) all(is.na(x))))
i_row <- i_row[which(i_row == min(i_row))]

df1[seq_len(i_row)[-i_row], seq_len(i_col)[-i_col]]