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

如何使用R读取Excel文件中指定区域(如C8:I21)的数据?

读取Excel指定数据区域的R实现方案

没问题!在R里读取Excel的指定数据区域完全可以通过专用包轻松实现,下面给你介绍两个最常用且靠谱的方案,都是CRAN上的成熟工具,不用依赖Java环境,上手很简单:

方案1:使用readxl包(轻量易用,推荐日常场景)

readxl是tidyverse生态下的包,专门用于读取Excel文件,语法简洁直观,对指定区域的支持非常友好。

步骤:

  • 首先安装并加载包(首次使用时执行安装命令):
install.packages("readxl")
library(readxl)
  • 读取指定区域C8:I21:
# 替换成你的Excel文件路径
data <- read_excel("your_file.xlsx", 
                   range = "C8:I21",  # 直接用Excel风格的区域字符串
                   sheet = "Sheet1")  # 可选:指定工作表,默认读第一个

这个方法的优势是直接用Excel原生的区域标识,不需要转换行号列号,非常直观。如果你的区域包含表头,readxl默认会把第一行(这里就是C8所在行)识别为列名,要是不需要的话可以加col_names = FALSE参数。

方案2:使用openxlsx包(功能丰富,适合复杂操作)

openxlsx是纯R实现的Excel处理包,除了读取,还支持写入、修改Excel文件,对于需要后续操作Excel的场景更实用。它提供了两种指定区域的方式:

方式1:用行号列号精准定位

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

# 加载工作簿
wb <- loadWorkbook("your_file.xlsx")

# 读取C8:I21(行8-21,列3-9,C是第3列,I是第9列)
data <- readWorkbook(wb, 
                     sheet = 1,  # 工作表索引或名称
                     rows = 8:21,
                     cols = 3:9,
                     colNames = TRUE)  # 是否将第一行作为列名

方式2:用Excel风格区域字符串

如果你习惯用Excel的区域写法,也可以直接传range参数:

data <- readWorkbook(wb, sheet = 1, range = "C8:I21")

额外小提示

  • 如果你的文件路径包含中文或特殊字符,在Windows系统下建议用完整的绝对路径,或者用file.path()函数拼接路径避免编码问题;
  • 如果读取后发现数据类型不符合预期,可以用col_types参数指定每列的类型(比如col_types = c("numeric", "character"))。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 08:24:58