Медленное чтение read_excel для конкретной машины - PullRequest
0 голосов
/ 29 декабря 2018

Я получаю очень медленное время чтения, используя read_excel на конкретной машине с определенным файлом xlsm.Читая один и тот же файл xlsm на 2 разных машинах, время чтения составляет 72 секунды против 0,2 секунды.Где более медленная машина на самом деле обладает большей вычислительной мощностью.

Обе машины являются Windows, и я использую readxl пакет версии 1.1.0 на обеих машинах.Я пытался использовать пакет v1.2.0 на более медленной машине, и та же проблема сохраняется.

Я читал этот файл xlsm в R в течение последних 2 лет + без проблем.В течение этих двух лет я регулярно запускал набор макросов для файла Excel.Однако теперь, когда я запускаю те же макросы и сохраняю файл, более медленной машине теперь требуется 70 с, а не <1 с, чтобы прочитать ее в R. Если я попрошу более медленную машину прочитать более старые версии файла xlsm, у нее нет проблем.Файл составляет около 15 МБ.Неважно, какую вкладку файла xlsm я прошу <code>read_excel прочитать, время по-прежнему около 70 секунд.

Я обновил R (v3.5.2) и гарантировал все readxlпакетные зависимости тоже актуальны.Я в растерянности, что еще попробовать, любые идеи будут высоко оценены.

1 Ответ

0 голосов
/ 22 августа 2019

Редактировать: Когда я тестировал свое решение ниже, оно работало один раз, а потом никогда больше.

Новое решение: единственное реальное решение, которое я могу найти, - это возврат к более старой версии readxl.

1) Установите RTools 3.5 - https://cran.r -project.org / bin /windows / Rtools /

2) Установите пакет devtools - install.packages("devtools")

3) Установите readxl версии 1.2.0 - devtools::install_version("readxl", "1.2.0")

Неправильное решение:

Подобное происходило со мной, и недавно мне удалось «исправить» это, удалив все имена рабочих книг / листов в файле excel перед попыткой загрузкиэто с readxl.

Некоторые предыстории: Люди добавили кучу нежелательных имен, ссылающихся на внешние соединения, и мне интересно, пытался ли readxl разрешить их перед загрузкой данных, что приводило к зависанию.Я не знаю, почему он зависает только на моем текущем компьютере, а тот же файл не зависает при загрузке на другой компьютер.

...