файл read.xlsx с одним столбцом, состоящим из «цифр как текста» - PullRequest
0 голосов
/ 23 января 2020

У меня есть файл Excel, который содержит числовые переменные c, но в первом столбце (столбце индекса) используется пользовательское форматирование: это числа, которые должны быть представлены в виде текста (или аналогично тексту) и всегда имеют фиксированное количество цифр, где некоторые нули. Вот мой пример таблицы из Excel:

enter image description here

А вот форматирование для bad_col1 (остальные числа или общие):

enter image description here

Когда я пытаюсь импортировать мои данные с помощью функции read.xlsx из пакета openxlsx или xlsx, это выдает что-то вроде этого :

read.xlsx(file_dir,sheet=1)#for openxlsx

  bad_col1 col2 col3
1        5   11  974
2      230   15  719
3    10250    6  944
4     2340    7  401

Итак, как вы видите, нули исчезли. Есть ли способ прочитать 1-й столбец как «текст» и как другие цифры c? Я не могу преобразовать его в текст после, потому что "передние нули" исчезли. Я могу подумать об обходном пути, но для моего проекта было бы более целесообразно преобразовать их при импорте.

Заранее спасибо

Ответы [ 2 ]

2 голосов
/ 23 января 2020

Вы можете использовать вектор для фильтрации желаемого формата, с библиотекой readxl:

library(readxl)
filter <- c('text','numeric','numeric')
the_file <- read_xlsx("sample.xlsx", col_types = filter)

Более того, вы можете пропускать столбцы, если вы используете в фильтре «пропуск» в нужном положении, учитывая, что у вас может быть много столбцов.

С уважением

2 голосов
/ 23 января 2020

С этим https://readxl.tidyverse.org/reference/read_excel.html вы можете использовать параметр col_types, чтобы первый столбец читался как character.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...