r распознавать и импортировать несколько таблиц из одного файла Excel - PullRequest
0 голосов
/ 13 апреля 2020

Я пытался прочитать все сообщения, как это, но мне не удалось.

Мне нужно извлекать таблицы с разным макетом из одного листа в excel для каждого листа файла.

Буду признателен за любую помощь или идеи, которые могут быть предоставлены.

Образец файла данных и его структуру можно найти Здесь

1 Ответ

0 голосов
/ 15 апреля 2020

Я бы использовал readxl. Код ниже читает только один лист, но его достаточно легко адаптировать для чтения нескольких или разных листов.

Сначала мы просто хотим прочитать лист. Очевидно, вы должны изменить путь, чтобы отразить, где вы сохранили файл:

library(readxl)
sheet = read_excel("~/Downloads/try.xlsx", col_names = LETTERS[1:12])

Если вы не знали, что у вас 12 столбцов, то используйте read_excel без указания имен столбцов. даст вам достаточно информации, чтобы узнать это. Различные таблицы на листе разделены одной или двумя пустыми строками. Вы можете найти пустые строки, протестировав каждую строку, чтобы увидеть, все ли ячейки в этой строке NA с использованием функции apply.

blanks = which(apply(sheet, 1, function(row)all(is.na(row))))
blanks
> blanks
 [1]  7  8 17 26 35 41 50 59 65 74 80 86 95 98

Таким образом, вы можете извлечь первую таблицу взяв строки 1-6 (7-1), вторую таблицу взяв строки 9-16 и так далее.

...