Чтение Excel: ошибка оценки с файлом zip '..file.xlsx' не может быть открыта

Я использую R с пакетом readxl. Я пытаюсь импортировать файл Excel со следующей командой:

library(readxl)
city_codes <- read_excel("./data/file.xlsx", sheet = "city_codes")

Он говорит, что это zip файл и не может быть открыт:

Error in sheets_fun(path) : 
Evaluation error: zip file './data/file.xlsx' cannot be opened.

Любые идеи?

Ответ 1

Сообщение об ошибке readxl смешной способ сказать "файл не найден". Эта точная строка кода дает мне ту же самую ошибку, и файл для меня даже не существует.

Примечание. Я на версии 1.0.0 readxl

Ответ 2

У меня была эта ошибка, но для меня это было просто, что я открывал лист в Excel при попытке прочитать его в R. Я думаю, что пакет неправильно воспринимает его как почтовый файл, когда он пытается прочитать его, в то время как Excel имеет частичное владение этого (и это блокирует чтение).

Ответ 3

Вы можете указать путь к файлу, только если он вложен в рабочий каталог. Например: если ваш рабочий каталог - MyWD, и в нем есть папка с именем MyData и другая папка в MyData с именем MyNestedData и, наконец, myExcelFile.xlsx

read_excel("MyData/MyNestedData/myExcelFile.xlsx",sheet = "Sheet2") #will work
read_excel("MyWD/MyData/MyNestedData/myExcelFile.xlsx",sheet = "Sheet2") #will not work

Ответ 4

Это может произойти, если вы забудете сделать следующее, прежде чем использовать функцию read_excel

setwd("C:\\map\\map_in_map\\map_in_map_in_map_where_the_file_is")

Ответ 5

Вы можете попытаться указать полный путь вместо ./path/to/file

Ответ 6

Если ваш лист Excel защищен паролем, read_excel не сможет получить к нему доступ и выдаст вам эту ошибку. Если это требует защиты, я бы предложил ч/б защитить папку, в которой он находится, а затем снять защиту листа.