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


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。