首页 > 解决方案 > 如何使用 R 下载 uri 数据:文本文件?

问题描述

我正在尝试使用 R 下载我认为所谓的 URI 数据:文本文件。“URL”是这种形式:

URL <-“数据:文本/csv;charset=utf8,Supply%2001%2F02%2F2020%2C0%3A00%2C0%3A05%2C0%3A10%2C0%3A15%2C0...”

接下来是数百个字符。当我在网络浏览器中输入“URL”并按下回车键时,所需的 CSV 文件会毫无问题地下载。但是,当我尝试在上述字符串上使用类似 download.file 或 curl_download 的内容时,我收到如下错误:

curl_download(URL, destfile = "test1234.csv") 中的错误:端口号以 't' 结尾

关于如何下载 csv 数据的任何见解:使用 R 这样的文件?谢谢!

如果有任何用处,我试图下载的文件粘贴在下面。我必须首先将字符串保存为 .txt 文件,然后使用 read_file 导入该 .txt 文件,以便将其作为字符串存储在 R 中。

标签: rweb-scrapinguri

解决方案


数据 URL 并不是真正的普通 URL,它包含文本内的所有数据,而不是指向不同位置的数据。它由两部分组成:“标题”,然后是数据本身。标头由“data:text/csv;charset=utf8”组成,然后是数据,但它是 HTML(或 URL)编码的。您可以通过删除标题、解码值,然后将文本读取为 CSV 文件来读取数据read.csv。例如:'

read.csv(text=URLdecode(gsub("^data:text/csv;charset=utf8,","", URL)), 
   check.names = FALSE)

推荐阅读