R read_excel: ошибка libxls: невозможно проанализировать файл - PullRequest
0 голосов
/ 10 марта 2020

Я пытаюсь прочитать файл xls в R, используя readxl :: read_excel , но он выдаёт следующие ошибки:

Error: 
  filepath: //.../data.xls
  libxls error: Unable to parse file

также пробовал readxl :: excel_sheets (), но те же ошибки.

  • readxl :: format_from_ext (путь) дает "xls"

Также пытался переустановить пакеты readxl, у меня не получилось.

Моя текущая альтернатива - преобразовать этот файл в «xlsx» с помощью Excel, а затем прочитать с помощью readxl :: read_excel, но я бы хотел импортировать «xls» напрямую.

Как это исправить

1 Ответ

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

Я часто сталкивался с этой проблемой (точно такое же сообщение об ошибке), и похоже, что это связано с тем, как файл .xls был сохранен или экспортирован. Например. В Excel, если вы просматриваете лист, иногда появляются предупреждения. Однако проверка или повторное сохранение нецелесообразно, когда у вас есть автоматические файлы или огромное количество файлов, которые вам нужно открыть R. У меня есть несколько примеров файлов .xls, которые не могут быть загружены библиотеками readxl, openxlsx, независимо от того, что варианты, которые я пробую (например, указание листа, что часто решает проблему загрузки листов Excel). Наконец, я решил эту проблему, просто используя пакет XLConnect (обратите внимание, что для его установки требуется Java). У вас нет образца файла, и я не могу поделиться тем, над которым я работаю, но попробуйте это

install.packages('XLConnect')
library(XLConnect)
# to load sheet one of 'test.xls', and my sheet does not have a header
# method one, read workbook, followed by worksheet
f <- loadWorkbook('test.xls')
d <- readWorksheet(f, 1, header = F)
# method two, read sheet directly into your dataframe
d <- readWorksheetFromFile ('test.xls', 1, header = F)
...