【问题标题】:rdrop 2, excel and shiny markdownrdrop 2,excel和闪亮的降价
【发布时间】:2018-02-14 22:21:59
【问题描述】:

有没有办法直接从 Dropbox 运行闪亮的应用程序?我试过包'rdrop2'但没有成功。包的链接在这里:

rdrop2 at github

但是,当我按照该链接中的说明使用命令时:

drop_download('path/to/file/data.csv', dtoken = token.rds)

我收到以下错误消息:

Error: Path exists and overwrite is FALSE

有谁知道如何解决这个错误?此外,Dropbox 上的大部分数据都保存在 excel 文件中。是否有任何直接的方法可以将 excel 文件从 Dropbox 直接读取到 R 中?

谢谢

【问题讨论】:

    标签: excel shiny dropbox


    【解决方案1】:

    首先,我认为您需要传递令牌本身而不是 .rds 文件:

    token <- readRDS("token.rds")
    

    正如错误消息所述,data.csv 很可能存在于您的工作目录中。您可以使用file.exists("data.csv") 进行检查。如果它返回TRUE你的文件已经存在,那么你有3个选项:

    1. 使用if 语句

    用 if 语句检查文件是否存在,如果不存在则只下载:

    if( !file.exists("data.csv")) {
      drop_download("data.csv", dtoken = token)
    }
    
    1. 设置overwrite = T

    如果您认为这是文件的更新版本,您可以将 overwrite 参数设置为 TRUE

    drop_download("data.csv", dtoken = token, overwrite = T)
    
    1. 仅当 Dropbox 版本较新时才下载:

      • 如果文件不存在,请下载文件
      • 如果没有,请检查 Dropbox 版本是否已更新。

    像这样:

    if( !file.exists("data.csv")) {
      drop_download("data.csv", dtoken = token)
    } else {
      if (file.info("data.csv")$mtime < drop_get_metadata("data.csv")$client_modified) {
        drop_download("data.csv", dtoken = token) 
      }
    }
    

    请注意,Dropbox 元数据上的时区可能不同,从而导致意外结果。

    编辑:

    如果您想从dropbox 读取文件,请使用drop_read_csv

    这是一个最小的闪亮应用程序,如果你应该可以工作:

    • 使用drop_auth()saveRDS 创建"token.rds"
    • 将名为 "data.csv" 的文件上传到 dropbox 上的根文件夹。

    代码:

    library(shiny)
    
    token <- readRDS("token.rds")
    new_data <- drop_read_csv("data.csv")
    
    ui <- fluidPage(
      tableOutput("table") 
    )
    
    server <- function(input, output, session) {
      output$table <- renderTable( {
        new_data
      })
    }
    
    shinyApp(ui, server)
    

    【讨论】:

    • 感谢您的回复。我认为我从根本上误解了这一点。我的工作目录本身位于我计算机上的保管箱文件夹中,我正在尝试将文件从那里读取到 R 上。所以是的,该文件肯定存在于我的工作目录中。当我将它部署为闪亮的应用程序时,我只想让 R 直接从 Dropbox 读取文件。
    • 请检查我的编辑,看看这是否是你要找的。​​span>
    猜你喜欢
    • 1970-01-01
    • 2018-11-27
    • 2017-02-25
    • 2018-03-12
    • 2019-08-13
    • 1970-01-01
    • 2015-09-25
    • 2021-09-08
    • 1970-01-01
    相关资源
    最近更新 更多