Получить первую строку и первый столбец листа xlsx, не считывая все данные в R - PullRequest
2 голосов
/ 22 мая 2019

Для требований проекта я хотел бы сначала проверить первую строку (имена столбцов) и первый столбец (имена строк) файла xlsx с 2 листами. Первый лист состоит из набора данных, в котором мне нужны имена столбцов, а второй лист состоит из другого набора данных, в котором мне нужны имена строк.

Я проверил опцию Colnames и rownames, но она требует чтения данных. Я хотел бы просто получить имена имен столбцов и строк без чтения данных для предварительной проверки.

Data1 <- read.xlsx(file, sheetName=data, colNames = TRUE,
                           endRow = 2)
print(colnames(Data1))

Data2 <- read.xlsx(file, sheetName=data, rowNames= TRUE,
                           endRow = 2)
print(rownames(Data2 ))

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

1 Ответ

2 голосов
/ 22 мая 2019

Если вы используете пакет openxlsx, способ чтения имен столбцов:

columnsNames <- read.xlsx(file, sheetName='sheet name you want', colNames = F, rows = 1)

Это даст вам фрейм данных с одной строкой, содержащей имена столбцов вашего листа Excel. Установив colNames = F, вы не будете читать первую строку данных.

Если первый столбец содержит имена строк, вы можете прочитать их аналогичным образом:

rowsNames <- read.xlsx(file, sheetName='sheet name you want', colNames = F, cols = 1)

В этом случае установите colNames на TRUE, если у этого столбца есть имя, если нет, оставьте его как F.

Предупреждение: cols=1 и rows=1 читают первый столбец и строку листа, не первый непустой столбец / строку . Если столбец «A» пуст и ваша таблица начинается с столбца «B», тогда установите cols=2.

* * Пример тысяча двадцать-один: * * 1 022

У меня есть Excel с этими данными с верхней левой ячейкой в ​​B2 (столбец A пуст и 1-я строка пуста):

---------------------------
|    |  Year|  Age| Weight|
|row1|  2019|   11|     87|
|row2|  2000|   22|     76|
|row3|  2015|   33|     65|
---------------------------

> columnsNames <- read.xlsx("Book3.xlsx", colNames = F, rows = 2)
> columnsNames
    X1  X2     X3
1 Year Age Weight

> rowsNames <- read.xlsx("Book3.xlsx", colNames = F, cols = 2)
> rowsNames
    X1
1 row1
2 row2
3 row3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...