将带编码的行添加到Google Sheet R包googlesheets

时间:2016-06-06 20:53:31

标签: r google-sheets shiny packages

我使用这个神奇的软件包能够使用我的闪亮应用程序读取和上传数据。它工作正常,但是当我向工作表添加一行时,它不会保留与服务器相同的编码,也不像前一行中的数据。我手动输入的西班牙语名称没问题,但是当我使用该应用程序加载数据时,工作表中会替换特殊的拉丁字符(UTF-8)。 应用程序在以下会话中无法识别该数据。

library(googlesheets)

table <- "Reportes"

saveData <- function(data) {
  # Grab the Google Sheet
  sheet <- gs_title(table)
  # Add the data as a new row
  gs_add_row(sheet, input = data)
}

loadData <- function() {
   # Grab the Google Sheet
   sheet <- gs_title(table)
   # Read the data
   gs_read_csv(sheet)
}

然后,我在UI中使用一个按钮,并在SERVER中使用观察者来加载数据......

  observeEvent(input$enviar, {
     exit <- input$enviar
     if (exit==1){

      addData <- c( as.character(input$fecha),
                   as.character(input$local),
                   as.character(input$dpto),
                   as.character(input$estado),
                   as.character(input$fsiembra),
                   as.character(input$ref), 
                   as.character(loc$lat[loc$Departamento==input$dpto & loc$Localidad==input$local]), 
                   as.character(loc$long[loc$Departamento==input$dpto & loc$Localidad==input$local]),
                   as.character(getZafra(input$fecha)))

      saveData(addData)

      d <- loadData()

      reset('fecha')
      reset('dpto')
      reset('local')
      reset('estado')
      reset('fsiembra')
      reset('ref')
      reset('pass')

      disable('enviar')

    } 

})

请......如果有人可以提供帮助,我会非常高兴。

1 个答案:

答案 0 :(得分:0)

我发现我需要在上传前对字符向量进行编码...

我用过:

Encoding(addData) = "latin1"
saveData(addData)

并且工作得很好!。