R语言读取Excel指定工作表的特定行和列方法咨询
R语言提取Excel指定区域内容的可行方案
方案1:使用readxl包实现(推荐,大文件读取效率更高)
readxl本身支持直接指定读取区域,调用失败大概率是参数配置错误,正确用法如下:
- 安装并加载包(已安装可跳过安装步骤)
install.packages("readxl") library(readxl)
- 直接读取指定区域内容
# 直接通过range参数指定工作表+区域范围 factor_subset <- read_excel( path = "Run.xlsx", range = "Factors!Z15:AB71" )
参数补充说明:
- 如果原表第15行是表头,保持默认
col_names = TRUE即可自动把15行内容设为列名 - 如果原表第15行就是数据行,添加参数
col_names = FALSE,后续可自行重命名列 - 不确定工作表名是否正确的话,可先运行
excel_sheets("Run.xlsx")查看文件内所有工作表的准确名称
方案2:使用openxlsx包实现(适合需要后续操作Excel的场景)
如果需要对Excel文件有更多读写操作,可使用openxlsx包实现:
- 安装并加载包(已安装可跳过安装步骤)
install.packages("openxlsx") library(openxlsx)
- 读取指定区域内容
# 加载工作簿 wb <- loadWorkbook("Run.xlsx") # 读取指定行列内容,26:28对应Z到AB列的列序号 factor_subset <- readWorkbook( wb, sheet = "Factors", rows = 15:71, cols = 26:28 )
常见失败原因排查
- 文件路径错误:可先运行
getwd()查看当前工作目录,确认Run.xlsx放在该目录下,或者直接传入文件的绝对路径 - 提取范围超出工作表实际边界:可先读取整个Factors工作表的维度,确认15-71行、Z-AB列确实存在
内容的提问来源于stack exchange,提问作者ross mike
相关产品推荐
相关产品推荐

