此低級函數返回 tibble 中的單元格數據,每個單元格一行。該 tibble 具有整數變量 row
和 col
(指的是 Google Sheet 的位置)、A1 樣式引用 loc
和 cell
列表列。旗艦函數 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"
。嚴格解釋,即使範圍強製包含前導、尾隨或嵌入的空行或列。優先於skip
、n_max
和sheet
。注意range
可以是命名範圍,如"sales_data"
,沒有任何單元格引用。 - skip
-
在讀取任何內容(無論是列名還是數據)之前要跳過的最小行數。前導空行會自動跳過,因此這是一個下限。如果給出
range
,則忽略。 - n_max
-
要解析為返回的 tibble 的最大數據行數。尾隨空行將被自動跳過,因此這是結果中行數的上限。如果給出
range
,則忽略。n_max
在讀取所有非空單元格後在本地強製執行,因此,如果速度是一個問題,最好使用range
。 - cell_data
-
每個單元格要獲取多少詳細信息。
"default"
檢索 googlesheets4 猜測或強加單元格和列類型時實際使用的字段。"full"
檢索中的所有字段CellData
架構。主要差異與單元格格式有關。 - discard_empty
-
是否丟棄沒有數據的單元格。從字麵上看,我們檢查
effectiveValue
,這是其中的字段之一CellData
架構.
例子
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
相關用法
- R googlesheets4 range_read 將工作表讀入 DataFrame 中
- R googlesheets4 range_autofit 自動調整列或行以適應數據
- R googlesheets4 range_speedread 將工作表讀取為 CSV
- R googlesheets4 range_delete 刪除單元格
- R googlesheets4 range_flood 淹沒或清除一係列單元格
- R googlesheets4 range_write (覆蓋)將新數據寫入範圍
- R googlesheets4 request_generate 生成 Google Sheets API 請求
- R googlesheets4 sheet_rename 重命名(工作)表
- R googlesheets4 sheet_delete 刪除一張或多張(工作)表
- R googlesheets4 gs4_token 生成配置的令牌
- R googlesheets4 gs4_formula Google 表格公式類
- R googlesheets4 gs4_random 生成隨機工作表名稱
- R googlesheets4 gs4_user 獲取當前用戶的信息
- R googlesheets4 spread_sheet 將單元格 DataFrame 展開為電子表格形狀
- R googlesheets4 sheet_properties 獲取有關(工作)表的數據
- R googlesheets4 sheets_id Sheets_id 類
- R googlesheets4 gs4_auth_configure 編輯和查看身份驗證配置
- R googlesheets4 gs4_fodder 創建有用的電子表格填充程序
- R googlesheets4 sheet_append 將行附加到工作表
- R googlesheets4 gs4_endpoints 列出工作表端點
- R googlesheets4 gs4_auth 授權 googlesheets4
- R googlesheets4 gs4_find 查找 Google 表格
- R googlesheets4 sheet_write (覆蓋)將新數據寫入工作表
- R googlesheets4 gs4_examples 示例表
- R googlesheets4 googlesheets4-configuration 穀歌表4配置
注:本文由純淨天空篩選整理自Jennifer Bryan等大神的英文原創作品 Read cells from a Sheet。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。