2015-04-06 3 views
1

Я пытаюсь импортировать большой файл xlsx в R, который имеет много листов данных. Я пытался сделать это через XLConnect, но проблемы памяти Java (например, те, которые описаны in this thread предотвратили эту технику от успешности.)Импорт нескольких листов excel с использованием openxlsx

Вместо этого, я пытаюсь использовать openxlsx пакет, который я прочитал работает гораздо быстрее и вообще избегает Java. Но есть ли способ использовать его функцию read.xlsx в цикле для чтения во всех листах в отдельные данные? Техника, которую я использовал с другим пакетом, больше не действительна. Команды bc, такие как loadWorkbook() и getSheets(), больше не могут использоваться.

Благодарим за помощь.

ответ

3

не делая ничего больше, чем просматривал документацию для openxlsx быстро приводит один к функции sheets(), которой он заявляет осуждается вместо names(), которая возвращает имена всех листов в книге. Затем вы можете перебрать их в простой цикл for.

Я не уверен, почему вы говорите, что loadWorkbook не может быть использован. Опять же, документация четко показывает функцию в openxlsx тем именем, которое имеет примерно то же значение, что и в XLConnect, хотя это аргументы немного отличаются.

Вы также можете ознакомиться с пакетом readxl, который также не имеет зависимости от Java.

+0

Хорошо, спасибо. Извиняюсь, небрежно, чтобы я не заметил подобную команду в openxlsx. Я строго ссылался на функции XLConnect. –

+0

@ Тони Не стоит беспокоиться. Рад, что смог помочь! – joran

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