Здравствуйте и спасибо за ваше время. Я пытаюсь импортировать файл xlsx из iCloud, но ничего не работает. Использование
download.file(url = origin_url
,destfile = "/path/to/the/File.xlsx"
,mode = "wb")
Создает File.xlsx, но его размер составляет 45 КБ от исходных 210 КБ. origin_url - это полный путь к каталогу iCloud (ссылка для совместного использования с полными разрешениями) + имя исходного файла.
origin_url <- paste("https://www.icloud.com/iclouddrive/03Etcetera4Q#Genial-IO", "/o_File.xlsx",sep="")
В результате консоль выдаст:
пробандо ля URL ... // www.icloud.com/iclouddrive/03Etcetera4Q#Genial -IO / o_File.xlsx Тип содержимого 'text / html' длиной 46562 байта (45 КБ) ===== скачано 45 КБ
Подозревая из файла (это настоящий файл xlsx?) Я переместил его в папку диска Google, сделал следующее и работал как шарм:
googledrive::drive_auth(email = "associated_drive_account@gmail.com")
d1 <- drive_find(pattern = "o_File.xlsx",type = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",verbose = TRUE)
meta <- drive_get(id = d1$id)[["drive_resource"]]
n_id <- paste("https://drive.google.com/open?id=",d1$id,sep = "")
meta_name <- paste("/path/to/the/",meta[[1]]$originalFilename,sep = "")
drive_download(file = as_id(n_id),overwrite = TRUE, path = meta_name)
# downloaded file 210KB <--- OK!!
rm(n_id,d1)
#reading 4 worksheets
data <- map(1:4,function(j){
read_excel(meta_name,col_names = TRUE,sheet = j,skip = ifelse(j == 4,0,1))})
Итак ... файл в порядке. Я очень запуталась. Иногда при попытке импортировать csv или другие файлы разными способами мне приходилось менять символ в конце общей ссылки с 0 на 1.
Примечание: я использовал библиотеки readxl и xlsx. (GDrive = Ok, iCloud = NOk)
Я глубоко признателен за вашу помощь