代码之家  ›  专栏  ›  技术社区  ›  TheGoat

从Google Drive-in-R下载xlsx文件

  •  0
  • TheGoat  · 技术社区  · 4 年前

    我想下载这个文件到R进行分析,但我有困难解压缩文件从临时目录。

    我的代码如下所示:

    install.packages("pacman")
    library(pacman)
    #Load Libraries
    pacman::p_load(tidyverse,tidymodels,modeltime,timetk,googledrive)
    
    temp <- tempfile(fileext = ".zip")
    
    dl <- drive_download(
      as_id("https://drive.google.com/file/d/17ZhE3nxqtGYNzeADMzU02YzfKU9H9f5j/view?usp=sharing"),
      path = temp, 
      overwrite = TRUE, 
      type = "xlsx")
    
    out <- unzip(temp, exdir = tempdir())
    
    #Import Data
    Three_Time_Series <- read_excel(out[1])
    

    当我检查 out 变量我看到它是一个大小为1:10的字符向量,但每个字符串引用xml文件。在最后一行,我试着读懂了 out[1:10] 但每次它都说:

    Error: Can't establish that the input is either xls or xlsx. 
    

    任何提示都将不胜感激。

    0 回复  |  直到 4 年前
        1
  •  1
  •   Ronak Shah    4 年前

    您拥有的是一个用于查看的URL,您应该获得用于编辑/下载文件的URL。

    以下是我的作品。

    library(googledrive)
    
    dl <- drive_download(
     as_id("https://docs.google.com/spreadsheets/d/17ZhE3nxqtGYNzeADMzU02YzfKU9H9f5j/edit#gid=1748893795"),
      path = 'temp1.xlsx', 
      overwrite = TRUE, 
      type = "xlsx")
    
    
    Three_Time_Series <- readxl::read_excel('temp1.xlsx')
    Three_Time_Series
    
    # A tibble: 528 x 3                                                                                                
    #   DATE_TIME           CELL  AVG_SIGNAL_LEVEL
    #   <chr>               <chr>            <dbl>
    # 1 04.21.2017 10:00:00 CELL1            -106.
    # 2 04.21.2017 10:00:00 CELL2            -105.
    # 3 04.21.2017 10:00:00 CELL3            -105.
    # 4 04.21.2017 11:00:00 CELL1            -106.
    # 5 04.21.2017 11:00:00 CELL3            -105.
    # 6 04.21.2017 11:00:00 CELL2            -105.
    # 7 04.21.2017 12:00:00 CELL2            -105.
    # 8 04.21.2017 12:00:00 CELL1            -106.
    # 9 04.21.2017 12:00:00 CELL3            -105.
    #10 04.21.2017 13:00:00 CELL1            -106.
    # … with 518 more rows