2016-03-25 4 views
0

Я пытаюсь загрузить таблицы Excel в R с помощью пакета xlsx. Файлы сохраняются в виде старых таблиц 97-2003 (окончание .XLS) для более новых файлов, код ниже работал нормально.Загрузите рабочий лист Excel Excel Excel 2003-2003 (.XLS) в Excel R

df <- read.xlsx(filename,sheetIndex=2) 

Однако, когда я пытаюсь на старых файлов, я получаю сообщение об ошибке:

Ошибка в .jcall ("RJavaTools", "Ljava/языки/Object;", "InvokeMethod", кл, : org.apache.poi.hssf.OldExcelFormatException: Прилагаемая таблица, кажется, Excel 5,0/7,0 (BIFF5) формат POI поддерживает только формат BIFF8 (от версии Excel 97/2000/XP/2003)

я знаю. ошибка связана с файлами, находящимися в более старом формате, но я не знаю, как это решить. У меня слишком много файлов, чтобы вручную обновлять их. Любое su ggestings были бы очень благодарны!

P.S. извинения за то, что вы не добавили полностью воспроизводимый пример. Я не знаю, как прикреплять файлы, чтобы согласиться с моим вопросом.

ответ

1

Пакет readxl является одним из способов чтения файлов Excel. Преимущество заключается в том, что нет никакой зависимости от Java или других.

Ваш код будет

library(readxl) 
df <- read_excel(path = filepath, sheet =2) 

Он должен работать с XLS и XLSX файлов.

Используйте excel_sheets(filepath), чтобы получить имя листа для импорта и передать его через sheet arg read_excel. Вы можете сделать цикл, если это вам поможет.

Смежные вопросы