Не могу скачать Excel и DataBase в R, но CSV работает - PullRequest
0 голосов
/ 02 июля 2019

Я прохожу через «R для всех» и на 6.2 просит загрузить файл Excel онлайн.Я смог сделать это, когда они попросили загрузить CSV, но я получаю сообщения об ошибках для Excel.

Загрузка CSV онлайн работает, Excel не работает.Я попытался сделать часть БД несколькими страницами позже и все еще с некоторыми проблемами.Я считаю, что я скачал все пакеты, но, возможно, я что-то упустил.

Это код, который я использую:

download.file(url='http://jaredlander.com/data/ExcelExample.xlsx', destfile = 'data/ExcelExample.xlsx', method = 'curl')

download.file("http://www.jaredlander.com/data/diamonds.db", destfile = "data\diamonds.db",mode ='wb')

Я ожидал, что он загрузит файл Excel, однакоЯ получил следующее сообщение об ошибке.

Предупреждение. Не удалось создать файл data / ExcelExample.xlsx: Нет такого файла или Предупреждение: каталог 100 254 100 254 0 0 537
0 -:-: - -: -: - -: -: - 538 curl: (23) Сбой записи тела (0! = 254) Ошибка в загрузке файла (url = "http://jaredlander.com/data/ExcelExample.xlsx",: вызов 'curl' имеет ненулевой статус выхода

, а также для части базы данных.

1: In download.file("http://www.jaredlander.com/data/diamonds.db",  :
  URL http://www.jaredlander.com/data/diamonds.db: cannot open destfile 'data/diamonds.db', reason 'No such file or directory'
2: In download.file("http://www.jaredlander.com/data/diamonds.db",  :
  download had nonzero exit status

1 Ответ

0 голосов
/ 04 июля 2019

Это работает для меня.

target = "http://www.abs.gov.au/ausstats/meisubs.NSF/log?openagent&5206001_key_aggregates.xls&5206.0&Time%20Series%20Spreadsheet&24FF946FB10A10CDCA258192001DAC4B&0&Jun%202017&06.09.2017&Latest"
dest = 'downloaded_file.xls'

download.file(url = target, destfile = dest, mode='wb')

Или, вы можете сделать это.

library(readxl)
library(httr)
packageVersion("readxl")
url = "https://www.eia.gov/dnav/pet/hist_xls/W_EPC0_SAX_YCUOK_MBBLw.xls"

GET(url, write_disk(tf <- tempfile(fileext = ".xls")))
df <- read_excel(tf, 2L)
str(df)
...