當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。