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

如何用readxl导入Excel文件中的非连续指定列?

解决readxl导入指定不连续列的问题

你之前的代码问题出在cell_cols(c(1,2,4,5))的解析逻辑上:当你向cell_cols()传入包含不连续数值的向量时,它会自动将其识别为从最小数值到最大数值的连续列范围(也就是1到5列),而非单独选中这四个离散的列。

要正确导入第1、2、4、5列,有两种更可靠的方式:

方式一:使用cols参数(推荐)

read_xlsx()提供了专门的cols参数,直接传入要保留的列索引即可,逻辑清晰且不易出错:

library(readxl)
read_xlsx(path, cols = c(1, 2, 4, 5))

方式二:正确使用cell_cols指定离散列

如果你一定要用range参数,需要明确将每个列作为单独的范围传入,而非一个向量。可以通过多个cell_cols()调用,用cell_ranges()组合起来:

read_xlsx(path, range = cell_ranges(cell_cols(1), cell_cols(2), cell_cols(4), cell_cols(5)))

或者直接传入列的字母标识(比如A、B、D、E):

read_xlsx(path, range = cell_cols(c("A", "B", "D", "E")))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 14:20:31