Читать в файле xls в r из бизнес-объектов

Я скачал файл xls из бизнес-объектов и хочу прочитать его в R. Я попробовал несколько вариантов, самый простой из которых:

library("readxl")
txt=read_excel("file.xls", sheet = 2)

Проблема в том, что это дает мне пустую чашку. Однако, если я открою файл xls, абсолютно ничего не сделаю, сохраню его и попробую еще раз, он работает! Поскольку мне нужно создать конвейер данных, я хочу, чтобы он сразу работал без этого странного обходного пути. Есть идеи, в чем проблема? Мои собственные мысли касались какой-то собственности типа безопасности, доступной только для чтения, с правами администратора, но я не мог этого понять.

С уважением! болтушка

2 ответа

Я не знаю много, но это ошибка с пакетом. Вы можете перейти к readxl 1.0.0, и это работает.

Проблема GitHub с упоминанием сбрасываемых версий: https://github.com/tidyverse/readxl/issues/474

Как перейти к нужной версии: https://support.rstudio.com/hc/en-us/articles/219949047-Installing-older-versions-of-packages

Я всегда стараюсь не импортировать файлы.xls из-за таких проблем. По возможности я всегда импортирую его как файл.csv. Однако в зависимости от структуры файла.xls это не всегда возможно или может потребовать дополнительной работы, если в вашем файле.xls много вкладок.

Если возможно, экспортируйте.xls как файл.csv, а затем импортируйте его, используя read.table() или используйте функцию через множество доступных пакетов, таких как data.table или же tidyverse,

Вы можете использовать пакет data.table это обеспечивает очень простой и быстрый способ чтения и записи .csv или же .xls/.xlsx с fwrite а также fread функции. Это пакет уже имеет автоматический отдельный детектор.

Вы можете найти более подробную информацию об этом пакете здесь.

Другие вопросы по тегам