我无法将我的csv从Dropbox加载到RStudio Cloud。你能检查一下我做错了什么吗?

问题描述 投票:1回答:1

我试图将Dropbox中的CSV导入RStudio Cloud,似乎RStudio没有正确读取文件。该数据集有7列,500万+行的收费数据,但RStudio似乎正在拉动完全不同的东西。

我将CSV从https://data.ny.gov/Transportation/NYS-Thruway-Origin-and-Destination-Points-for-All-/chzq-388p下载到我的计算机上,然后将文件上传到Dropbox。该文件的Dropbox文件链接是https://www.dropbox.com/s/y76m7r7wuzlj7oo/NYS_Thruway_Origin_and_Destination_Points_for_All_Vehicles_-_1_Hour_Intervals__2019%20%283%29.csv?dl=0

我已经使用rempis和read.csv加载文件,但RStudio没有读取数据集。而不是数据集,RStudio Cloud正在读取具有两列(row.names和X.Docutype)的文件。

使用read.csv:

ThruwayTrafficData <- read.csv(file = "https://www.dropbox.com/s/y76m7r7wuzlj7oo/NYS_Thruway_Origin_and_Destination_Points_for_All_Vehicles_-_1_Hour_Intervals__2019%20%283%29.csv?dl=0", header = TRUE)

使用rempis:

install.packages("rempis")
library(rempis)
ThruwayTrafficDataURL <- "https://www.dropbox.com/s/y76m7r7wuzlj7oo/NYS_Thruway_Origin_and_Destination_Points_for_All_Vehicles_-_1_Hour_Intervals__2019%20%283%29.csv?dl="
ThruwayTrafficData <- repmis::source_data(ThruwayTrafficDataURL, header = TRUE)

当我下载文件然后使用我的文件路径将其加载到RStudio桌面时,它加载完全正常。

但我想使用RStudio Cloud。我需要使用DropBox并且无法将文件上传到RStudio Cloud,因为文件大小约为700 MB。

r cloud rstudio dropbox
1个回答
1
投票

你需要找到一个更好的链接。您可以使用readLines("https://...")而不是read.csv进行故障排除(注意,不要将整个东西转储到控制台,这非常烦人)。字符向量是211长(对我来说),前几行以:

<!DOCTYPE html><html xml:lang="en" class="maestro" xmlns="http://www.w3.org/1999/xhtml"><head><script nonce="RH9SaRzfUGdPecKWSel7">
window._goch_ = {};
window.addEventListener('click', function(event) {
    'use strict';
    for (var elm = event.target; elm; elm = elm.parentElement) {
        if (elm.id && 

这表明您的URL正在检索页面后面的HTML,而不是数据本身。

相反,将URL的结尾从dl=0更改为dl=1read.csv工作正常。我不知道变量背后的API,但它适用于我(虽然很慢......这不是一个小文件)。

更重要的是,如果你转到你提供的链接,它会带你进入一个页面,上面写着“这个文件太大而无法预览”,并为直接下载提供了一个javascript下拉菜单。如果您开始下载,一旦启动,您可以中断它。至少在FF中,您可以查看下载URL(右键单击中断的下载,选择“复制下载链接”)并查看它以dl=1结尾,尽管URL比我的更多组件试过。

无论如何,一旦我将0更改为1并下载它,我得到了这个:

> ThruwayTrafficData <- read.csv(file = "https://www.dropbox.com/s/y76m7r7wuzlj7oo/NYS_Thruway_Origin_and_Destination_Points_for_All_Vehicles_-_1_Hour_Intervals__2019%20%283%29.csv?dl=1", header = TRUE)
> str(ThruwayTrafficData)
 'data.frame':   5670906 obs. of  7 variables:
  $ Date                   : Factor w/ 108 levels "01/01/2019","01/02/2019",..: 108 108 108 108 108 108 108 108 108 108 ...
  $ Entrance               : Factor w/ 52 levels "15","16","17",..: 1 1 1 1 1 1 1 1 1 1 ...
  $ Exit                   : Factor w/ 52 levels "15","16H","17",..: 3 3 3 3 3 3 3 3 3 3 ...
  $ Interval.Beginning.Time: int  0 0 0 0 0 0 0 0 0 0 ...
  $ Vehicle.Class          : Factor w/ 12 levels "2H","2L","3H",..: 1 1 2 2 3 5 7 7 8 9 ...
  $ Vehicle.Count          : int  1 6 33 120 5 1 5 28 6 2 ...
  $ Payment.Type           : Factor w/ 2 levels "CASH","E-ZPass": 1 2 1 2 2 2 1 2 2 2 ...
© www.soinside.com 2019 - 2024. All rights reserved.