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


R googlesheets4 sheet_write (覆蓋)將新數據寫入工作表


這是用googlesheets4寫入數據的主要方式之一。此函數將 DataFrame 寫入(擴展)表內的(工作)表中。目標表的樣式為表格:

  • 特殊格式應用於包含列名稱的標題行。

  • 第一行(標題行)被凍結。

  • 工作表的尺寸設置為 "shrink wrap" 和 data

如果沒有通過 ss 指定現有工作表,則此函數將委托給 gs4_create() 並隨機生成新工作表的名稱。如果不希望這樣做,請直接調用 gs4_create() 以獲得更多控製。

如果未指定 sheetsheet 未識別現有工作表,則會添加一個新工作表以接收 data 。如果sheet指定現有工作表,則它會被有效覆蓋!所有預先存在的值、格式和尺寸均被清除,目標工作表從 data 獲取新值和尺寸。

該函數有兩個名稱,因為我們希望它在兩個上下文中有意義:

  • write_sheet() 喚起其他 table-writing 函數,例如 readr::write_csv() 。從技術上講,此處的sheet 指的是單個(工作)表(但也指的是關聯的 Google(擴展)表)。

  • 根據 googlesheets4 包中使用的命名約定,sheet_write() 是正確的名稱。

write_sheet()sheet_write() 是等效的,您可以使用其中之一。

用法

sheet_write(data, ss = NULL, sheet = NULL)

write_sheet(data, ss = NULL, sheet = NULL)

參數

data

一個 DataFrame 。如果它有零行,我們發送一個空的pseudo-row數據,以便我們可以應用通常的表格樣式。當您第一次使用 sheet_append() 發送更多數據時,這個空行就會消失(實際上被填充)。

ss

識別 Google 表格的內容:

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

  • 我們可以從中恢複 id 的 URL

  • one-row dribble ,這就是 googledrive 表示雲端硬盤文件的方式

  • googlesheets4_spreadsheet 的實例,這就是 gs4_get() 返回的內容

通過 as_sheets_id() 處理。

sheet

要寫入的表,在 "worksheet" 或 "tab" 的意義上。您可以通過名稱(使用字符串)或位置(使用數字)來標識工作表。

輸入 ss ,作為 sheets_id 的實例

也可以看看

其他寫入函數:gs4_create()gs4_formula()range_delete()range_flood()range_write()sheet_append()

其他工作表函數:sheet_add() , sheet_append() , sheet_copy() , sheet_delete() , sheet_properties() , sheet_relocate() , sheet_rename() , sheet_resize()

例子

df <- data.frame(
  x = 1:3,
  y = letters[1:3]
)

# specify only a data frame, get a new Sheet, with a random name
ss <- write_sheet(df)
#> ✔ Creating new Sheet: zippered-bobolink.
read_sheet(ss)
#> ✔ Reading from zippered-bobolink.
#> ✔ Range df.
#> # A tibble: 3 × 2
#>       x y    
#>   <dbl> <chr>
#> 1     1 a    
#> 2     2 b    
#> 3     3 c    

# clean up
googledrive::drive_trash(ss)
#> File trashed:
#> • zippered-bobolink <id: 1S28TXVHct8gcG2ekESAVLf4FYpp1fYHGixsGIbu4jt8>

# create a Sheet with some initial, placeholder data
ss <- gs4_create(
  "sheet-write-demo",
  sheets = list(alpha = data.frame(x = 1), omega = data.frame(x = 1))
)
#> ✔ Creating new Sheet: sheet-write-demo.

# write df into its own, new sheet
sheet_write(df, ss = ss)
#> ✔ Writing to sheet-write-demo.
#> ✔ Writing to sheet df.

# write mtcars into the sheet named "omega"
sheet_write(mtcars, ss = ss, sheet = "omega")
#> ✔ Writing to sheet-write-demo.
#> ✔ Writing to sheet omega.

# get an overview of the sheets
sheet_properties(ss)
#> # A tibble: 3 × 8
#>   name  index         id type  visible grid_rows grid_columns data  
#>   <chr> <int>      <int> <chr> <lgl>       <int>        <int> <list>
#> 1 alpha     0 1796393871 GRID  TRUE            2            1 <NULL>
#> 2 omega     1  912801732 GRID  TRUE           33           11 <NULL>
#> 3 df        2  681316902 GRID  TRUE            4            2 <NULL>

# view your magnificent creation in the browser
gs4_browse(ss)

# clean up
gs4_find("sheet-write-demo") %>%
  googledrive::drive_trash()
#> File trashed:
#> • sheet-write-demo <id: 1RyQ0qdvuOKg3gDsHATTN-AdiL8AL_OAWx-JHtnmrPd8>
源代碼:R/sheet_write.R

相關用法


注:本文由純淨天空篩選整理自Jennifer Bryan等大神的英文原創作品 (Over)write new data into a Sheet。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。