You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R中将合并单元格读取为标题?读取表格数据混乱求助

解决R读取含合并单元格Excel表格的混乱问题

针对B3:4合并单元格导致读取数据错位的问题,这里提供两种实用解决方案:

方法一:用openxlsx自动填充合并单元格

openxlsx包支持读取时自动将合并单元格的内容填充到所有合并的单元格,无需手动处理:

# 安装并加载包
install.packages("openxlsx")
library(openxlsx)

# 读取指定工作表,从第4行开始,开启合并单元格填充
df <- read.xlsx("你的文件路径.xlsx", 
                sheet = "目标工作表名", 
                startRow = 4, 
                fillMergedCells = TRUE)

该参数会自动把B3:4合并的"Community"值填充到B4单元格,读取后的数据不会出现错位。

方法二:用readxl手动处理合并单元格

如果习惯用readxl包,可以先读取包含合并区域的内容,手动填充空值后提取数据:

# 安装并加载包
install.packages("readxl")
library(readxl)

# 1. 读取包含合并单元格的前若干行(确保覆盖合并区域)
raw_data <- read_excel("你的文件路径.xlsx", range = cell_rows(1:10))

# 2. 将B3的"Community"值填充到B4(若B4为空)
if(is.na(raw_data[4, "B"])) {
  raw_data[4, "B"] <- raw_data[3, "B"]
}

# 3. 提取从第4行开始的数据
df <- raw_data[4:nrow(raw_data), ]

批量处理多合并单元格的扩展方案

如果表格中有多个合并单元格,可通过cell_merged()获取所有合并区域信息,批量填充空值:

merged_cells <- cell_merged("你的文件路径.xlsx", sheet = 1)
for(cell in merged_cells) {
  # 获取合并区域左上角的内容
  fill_value <- read_excel("你的文件路径.xlsx", range = cell$top_left)
  # 填充合并区域内的所有空单元格
  raw_data[cell$rows, cell$cols] <- fill_value
}

内容的提问来源于stack exchange,提问作者Weslley Fortunato

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 12:21:21