当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R googlesheets4 range_read_cells 从工作表中读取单元格


此低级函数返回 tibble 中的单元格数据,每个单元格一行。该 tibble 具有整数变量 rowcol (指的是 Google Sheet 的位置)、A1 样式引用 loccell 列表列。旗舰函数 read_sheet() ,又名 range_read() ,是大多数用户正在寻找的,而不是 range_read_cells()read_sheet() 本质上是 range_read_cells() (此函数),然后是 spread_sheet() ,它负责重塑和列键入。但如果您确实想要来自 API 的原始单元格数据,range_read_cells() 适合您!

用法

range_read_cells(
  ss,
  sheet = NULL,
  range = NULL,
  skip = 0,
  n_max = Inf,
  cell_data = c("default", "full"),
  discard_empty = TRUE
)

参数

ss

识别 Google 表格的内容:

  • 其文件 ID 作为字符串或 drive_id

  • 我们可以从中恢复 id 的 URL

  • one-row dribble ,这就是 googledrive 表示云端硬盘文件的方式

  • googlesheets4_spreadsheet 的实例,这就是 gs4_get() 返回的内容

通过 as_sheets_id() 处理。

sheet

要阅读的表,在 "worksheet" 或 "tab" 的意义上。您可以通过名称(使用字符串)或位置(使用数字)来标识工作表。如果通过 range 指定工作表,则忽略。如果两个参数都没有指定工作表,则默认为第一个可见工作表。

range

要读取的单元格范围。如果是 NULL ,则读取所有非空单元格。否则,请按照 Sheets A1 notation 中的说明指定 range 或使用 cell-specification 中记录的帮助程序。 Sheets 使用相当标准的电子表格范围表示法,尽管与 Excel 略有不同。有效范围示例: "Sheet1!A1:B2""Sheet1!A:A""Sheet1!1:2""Sheet1!A5:A""A1:B2""Sheet1" 。严格解释,即使范围强制包含前导、尾随或嵌入的空行或列。优先于 skipn_maxsheet 。注意 range 可以是命名范围,如 "sales_data" ,没有任何单元格引用。

skip

在读取任何内容(无论是列名还是数据)之前要跳过的最小行数。前导空行会自动跳过,因此这是一个下限。如果给出range,则忽略。

n_max

要解析为返回的 tibble 的最大数据行数。尾随空行将被自动跳过,因此这是结果中行数的上限。如果给出range,则忽略。 n_max 在读取所有非空单元格后在本地强制执行,因此,如果速度是一个问题,最好使用 range

cell_data

每个单元格要获取多少详细信息。"default"检索 googlesheets4 猜测或强加单元格和列类型时实际使用的字段。"full"检索中的所有字段CellData 架构。主要差异与单元格格式有关。

discard_empty

是否丢弃没有数据的单元格。从字面上看,我们检查effectiveValue,这是其中的字段之一CellData 架构.

range 中每个单元格一行的小标题。

也可以看看

例子

range_read_cells(gs4_example("deaths"), range = "arts_data")
#> ✔ Reading from deaths.
#> ✔ Range arts_data.
#> # A tibble: 66 × 4
#>      row   col loc   cell      
#>    <int> <int> <chr> <list>    
#>  1     5     1 A5    <CELL_TEX>
#>  2     5     2 B5    <CELL_TEX>
#>  3     5     3 C5    <CELL_TEX>
#>  4     5     4 D5    <CELL_TEX>
#>  5     5     5 E5    <CELL_TEX>
#>  6     5     6 F5    <CELL_TEX>
#>  7     6     1 A6    <CELL_TEX>
#>  8     6     2 B6    <CELL_TEX>
#>  9     6     3 C6    <CELL_NUM>
#> 10     6     4 D6    <CELL_LOG>
#> # ℹ 56 more rows

# if you want detailed and exhaustive cell data, do this
range_read_cells(
  gs4_example("formulas-and-formats"),
  cell_data = "full",
  discard_empty = FALSE
)
#> ✔ Reading from formulas-and-formats.
#> ✔ Range Sheet1.
#> # A tibble: 678 × 4
#>      row   col loc   cell      
#>    <int> <int> <chr> <list>    
#>  1     1     1 A1    <CELL_TEX>
#>  2     1     2 B1    <CELL_TEX>
#>  3     1     3 C1    <CELL_TEX>
#>  4     1     4 D1    <CELL_TEX>
#>  5     1     5 E1    <CELL_TEX>
#>  6     1     6 F1    <CELL_TEX>
#>  7     2     1 A2    <CELL_NUM>
#>  8     2     2 B2    <CELL_NUM>
#>  9     2     3 C2    <CELL_NUM>
#> 10     2     4 D2    <CELL_TEX>
#> # ℹ 668 more rows

相关用法


注:本文由纯净天空筛选整理自Jennifer Bryan等大神的英文原创作品 Read cells from a Sheet。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。