Использование openxlsx read.xlsx для импорта фрейма данных из мультиклассового столбца. Желаемый результат - импортировать все значения в виде строк, точно так, как они представлены в Excel. Однако некоторые десятичные дроби представлены как очень длинные числа с плавающей запятой.
Образцы данных - это просто файл Excel со столбцом, содержащим следующие строки:
abc123,
556.1,
556.12,
556.123,
556.1234,
556.12345
require(openxlsx)
df <- read.xlsx('testnumbers.xlsx', )
Использование приведенного выше кода R для чтения файла приводит к df, содержащему эту строку
values:
abc123,
556.1,
556.12,
556.12300000000005,
556.12339999999995,
556.12345000000005
В производственном файле Excel столбец отформатирован как «Общие». Если я отформатирую столбец как текст, изменений не произойдет, если я явно дважды не щелкну каждую ячейку в Excel и не нажму Enter. В этом случае номер правильно отображается в виде строки. К сожалению, щелкать каждую ячейку нельзя в производственной среде. Приветствуются любые решения, Excel, R или другие.
* Изменить: я прочитал этот вопрос и считаю, что понимаю математику того, что происходит. На данный момент, я полагаю, я ищу обходной путь. Как я могу получить число с плавающей запятой из Excel в фрейм данных R в виде текста без изменения представления?
readxl
, в котором есть функцияread_excel
, которая может использоватьcol_types="text"
для чтения всех столбцов как строк. - person MrFlick   schedule 25.06.2018