使用googlesheets4::read_sheet()读取Google Sheet指定列的方法咨询
实现方案
googlesheets4::read_sheet()的range参数不支持直接用逗号分隔的零散列写法,你可以通过以下两种方式实现仅读取指定非连续列:
方法1:使用cell_cols()指定列(推荐)
googlesheets4原生适配cellranger包的区域选择语法,直接传入目标列的字母/位置向量即可,无需记忆复杂的A1区域写法:
library(googlesheets4) library(tidyverse) # cellranger是googlesheets4的内置依赖,不需要额外安装 gs_ex <- 'https://docs.google.com/spreadsheets/d/<my_long_id>' gs_raw <- read_sheet( gs_ex, sheet = 'Converted', range = cell_cols(c("A", "K", "O")), # 直接指定要读取的列 col_types = 'cDD' # 对应3列的类型,分别为字符、日期、日期 )
方法2:使用Google Sheets原生A1非连续区域语法
如果不想额外调用cell_cols(),也可以用大括号包裹多段单列区域实现:
gs_raw <- read_sheet( gs_ex, sheet = 'Converted', range = '{A:A,K:K,O:O}', # 大括号包裹多段单列区域 col_types = 'cDD' )
两种方式都会只读取你需要的A、K、O三列,不需要再为不需要的列指定类型。
内容的提问来源于stack exchange,提问作者Joe
相关产品推荐
相关产品推荐

