читать файлы xlsx в Rstudio

Я прохожу курс программирования R от Cousera, и пока я практиковался в чтении файлов xlsx с помощью read.xlsx, я столкнулся со следующим сообщением об ошибке:

dat<- read.xlsx(file="./data/nga.xlsx", sheetIndex=1)

Ошибка в .jcall("RJavaTools", "Ljava/lang/Object;", "invokeMethod", cl,: java.util.zip.ZipException: литеральное/длинное дерево с превышением подписки

R версии 3.2.1, R Studio версии 3.2.1, платформа windows7 64bit. Может ли кто-нибудь подсказать, что означает это сообщение и как его обойти?

Спасибо, Гезимао


person Gezimao    schedule 11.07.2015    source источник
comment
Ваша версия RStudio звучит неправильно, например, моя — Version 0.99.441; вы можете получить это через Help-›About RStudio   -  person MichaelChirico    schedule 12.07.2015
comment
Что касается вашей проблемы, попробуйте две вещи: сначала запустите gc() и повторите попытку; во-вторых, попробуйте использовать read.xlsx2 вместо read.xlsx и посмотрите, что получится. Если это не сработает, убедитесь, что путь к файлу указан правильно, например, с помощью list.files("./data/") и убедитесь, что nga.xlsx есть.   -  person MichaelChirico    schedule 12.07.2015
comment
Из них (1,2,3) вопросы о том, что делает базовый Java, похоже, что-то не так с файлом zip, но я не знать, почему в дело вмешиваются любые zip файлы.   -  person MichaelChirico    schedule 12.07.2015
comment
Если ничего не работает, вы можете попробовать readxl, openxlsx или любой из этих Чтение файлов Excel из R   -  person Pierre L    schedule 12.07.2015
comment
Почему? Формат .xlsx представляет собой заархивированную версию варианта XML. Если вы разархивируете один, вы получите несколько папок, содержащих разные компоненты в файлах .xml.   -  person IRTFM    schedule 12.07.2015
comment
@BondedDust приятно знать, спасибо. В этом случае убедиться, что вы действительно можете открыть файл в Excel (или Libre/Open Office и т. д.) без каких-либо ошибок, — это еще один шаг в отладке.   -  person MichaelChirico    schedule 12.07.2015


Ответы (4)


Файл, который вы загрузили, был поврежден, поэтому загрузите его снова, используя параметр 'mode="wb"'.

person Jack    schedule 15.07.2015

попробуйте этот пакет https://github.com/hadley/readxl

read_excel("my-new-spreadsheet.xlsx")
person Ajay Ohri    schedule 12.07.2015

У меня такая же проблема. Файл .xlsx может быть «только для чтения». Попробуйте «Сохранить как» в новый файл из Excel и повторите попытку read.xlsx.

person Paul Reiss    schedule 15.02.2016

Загрузите и установите этот пакет Java:http://www.oracle.com/technetwork/java/javase/downloads/jre7-downloads-1880261.html

затем запустите свой код, и он должен работать. Если это действительно лучший ответ :)

person Seekheart    schedule 15.02.2016