导入多个 xlsx 文件并从单元格添加变量,同时跳过行 (R)

Import multiple xlsx files and add variable from cell, while skipping rows (R)

我有多个 Excel 文件,其中文件的关键变量位于单元格 B2 中,但其余数据位于其下方的行和列中。

我可以使用以下代码提取 "source" 变量:

all_posts <- map_dfr(files, read_xlsx, range = "B2", col_names = "source")

但是,我还需要在 B2 下面找到的 sheet 中获取附加数据,代码如下:

all_comments <- map_dfr(files, read_xlsx, skip = 5) #I need to skip five rows to where the data table starts.

如何才能使每批评论对应于单元格 B2 中的 "source" 变量?基本上,每个 Excel 文件都是一个在单元格 B2 中命名的 "post,",它包含下面各行中帖子的相应评论。

编辑:我添加了 Excel 文件之一的屏幕截图,以帮助更好地理解我的问题。

我能想到的一种方法是使用嵌套的小标题。我不熟悉 read_xlsx:我更喜欢 openxlsx 包中的 read.xlsx,但我想你明白了。

library(tidyverse)

tibble(file_name = files) %>%
  mutate(post = map_chr(file_name, ~openxlsx::read.xlsx(.x, rows = 2, cols = 2, colNames = FALSE)[1,1],
         data = map(file_name, ~openxlsx::read.xlsx(.x, startRow = 6))