Проверьте, существует ли лист данных в R

У меня есть блестящее приложение, в котором пользователь может загрузить файл. В зависимости от того, имеет ли этот файл 1 или 2 таблицы данных, функциональность должна быть разной. Я импортирую таблицу с помощью read.xlsx, где data_in – это путь:

data <-read.xlsx(data_in,1,1,colNames=TRUE) 

Итак, это первый лист файла. Второй лист можно импортировать таким же образом, конечно. Но если у него нет второго листа, я хочу, чтобы он обрабатывал это, например, вставляя предупреждение или продолжая по-другому.

Итак, как определить, существует ли второй лист в файле данных?

Ценю вашу помощь!

благодаря

Ответы, приведенные выше, прекрасно указывают на решение вашей конкретной проблемы. Я просто хочу добавить общее решение для таких вопросов: вы можете взглянуть на tryCatch() . Это позволяет определить, что должно произойти, если в вашем коде возникла ошибка или предупреждение.

 result <- tryCatch({ # The code you want run }, warning = function(war) { # Is executed if warning encountered }, error = function(err) { # Is executed if error encountered }) 

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

Существует метод. Таблица для проверки наличия листов в файлах excel в пакете XLConnect .

Вы можете попробовать следующее:

 # mtcars xlsx file from demoFiles subfolder of package XLConnect demoExcelFile <- system.file("demoFiles/mtcars.xlsx", package = "XLConnect") # Load workbook wb <- loadWorkbook(demoExcelFile) # Check for existence of a worksheet called 'mtcars' existsSheet(wb, "mtcars") 

Пожалуйста, обратитесь к этому для более подробной информации:

Вы можете использовать функцию readxl пакета readxl , чтобы «Список всех листов в электронной таблице Excel».

 library(readxl) excel_sheets("path/to/excel/file") 

Из Документов:

 # To load all sheets in a workbook, use lapply path <- system.file("extdata/datasets.xls", package = "readxl") lapply(excel_sheets(path), read_excel, path = path) 
  • Как объединить два поля для загрузки файлов с разными типами файлов в один?
  • Shinyapps отключается от сервера, возможно превышая ограничение памяти с помощью файла excel
  • R: Запись реактивного выхода в файл excel?
  • Пакет DT, экспорт в excel не экспортирует специальные символы должным образом
  • R Shiny включает html embed excel не отображается в Chrome
  • Как указать файл и путь для сохранения файла с помощью R-shiny и shinyFiles?
  • Подключение таблицы Excel к R Shiny
  • Блестящий Скачать файл excel
  • Interesting Posts

    удалите ячейку, если значения существуют в countif

    Создание листа Excel для поиска и без поиска с помощью одного запроса

    Извлечь тело электронной почты partail из Outlook в Excel

    = importhtml Google Таблицы Несколько сообщений об ошибках

    Добавление pic на лету в MS превосходит OpenTBS

    Как создать макрос, который находит, выбирает и вырезает столбцы и вставляет их в другой рабочий лист?

    Macro double underline range, если col q = *

    Код Excel VBA работает очень медленно даже при отключенных событиях

    openpyxl: проверка / чтение данных без обработки

    Excel 2016 Связанные рабочие книги Медленное обновление из SharePoint Online (2007 год хорош)

    Как определить, открыта ли книга Excel на локальном компьютере, учитывая, что может быть несколько экземпляров Excel?

    Импорт таблицы данных из файла Excel и ее отображение в онлайновой форме с использованием VBScript и HTML

    Использование функции Index и Match с Count / Counta / Countif для подсчета результатов на третьем wookbok

    Разделить колонку адреса на три столбца с пробелами

    Экспортировать объект в excel с помощью C #

    Давайте будем гением компьютера.