当 R + googlesheets 添加到 Google 表格时,整数被解释为日期

Integer interpreted as date when added to Google Sheets by R + googlesheets

我正在尝试通过来自 googlesheets 的 gs_add_row 将值对(日期、值)添加到 Google 表格。这成功了,除了两个值都显示为 Google 工作表上的日期。

我事先检查了 "value" 以确保它符合预期(例如 50),但表格显示日期 (1970-02-20)。

我什至尝试将表格中的单元格格式设置为 "Numbers" 而不是 "Automatic",但没有任何区别。

有没有办法指定变量类型?

编辑 示例代码:

library(lubridate)
library(googlesheets)
library(dplyr)

#URL <- "[some 'published to the web' Google Sheet URL]"
dt <- ymd(today())
val <- 50

URL %>% 
    gs_url() %>% 
    gs_add_row(ws=3, input = c(dt, val))

问题是由于使用 cdtval 连接成一个向量。 当您使用 c 时,输出类型由层次结构 NULL < raw < logical < integer < double < complex < character < list < expression 中组件的最高类型决定。因此,在这种情况下,连接(使用 c)的输出是 Date class。 如果您已完成 c(val, dt),则输出类型将为 numeric.

你最好的选择是:

URL %>%
    gs_url() %>% 
    gs_add_row(ws=3, input = c(as.character(dt), val))

如果这在第一次时不起作用,您可能需要删除旧的 Sheet,使用相同的数据创建一个新的 Sheet,然后 运行 上的代码新 sheet.

谢谢!