пакет openxlsx, read.xlsx check.names = false, все еще размещая. в названиях столбцов - PullRequest
0 голосов
/ 01 апреля 2020

Обычно я использую Tidyverse для чтения в файлах Excel с помощью команды read_excel, однако я столкнулся с ужасной ошибкой «Неизвестный или неинициализированный столбец», которая ссылается на несуществующий столбец, а затем предупреждает об указанном несуществующем столбце с тех пор через рабочий процесс .

Поэтому я решил вместо этого использовать openxlsx для чтения в файлах Excel. Все шло хорошо, пока я не понял, что openxlsx видит имена столбцов с пробелами как синтаксически неправильные и добавляет. заменить пробел. Таким образом, «Customer Name» становится «Customer.Name».

Я пытался использовать команду check.names = FALSE, чтобы оставить заголовки в такте, но пакет, похоже, игнорирует эту команду.

Многие из заголовков могут иметь более одного пробела между словами, и формат должен оставаться неизменным. Я не могу использовать пакет Excel, который опирается на Java, поскольку наша компания заблокировала его.

Как заставить openxlsx оставить заголовок в покое?

Пример кода, который я использую: здесь: IMACS <- read.xlsx("//zfsstdscun001a.rz.ch.com/UKGI_Pricing/Bus_Insights/R_Scripts/IMACS.xlsx",check.names=FALSE, sheet = "IMACS")

1 Ответ

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

Все кредиты @Matt на этом.

Совместное использование readxl и read_excel дало удовольствие.

IMACS <- readxl::read_excel("//zfsstdscun001a.rz.com/UKGI_Pricing/Bus_Insights/R_Scripts/CAT Risks/IMACSV2.xlsx",
                            sheet = "IMACS")
...