R read_excel: libxls error: 无法解析文件

问题描述 投票:0回答:1

我想 用readxl::read_excel把xls文件读到R中。但它给出了以下错误。

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

也试过readxl::excel_sheets(),但同样的错误。

  • readxl::format_from_ext(path)给出了 "xls"

也试过重新安装readxl包,对我来说没有用。

我现在的办法是用Excel把这个文件转换成 "xlsx",然后用readxl::read_excel读进去,但我想直接导入 "xls"。

怎么解决呢?

r import xls
1个回答
0
投票

我经常遇到这个问题(完全相同的错误信息),它似乎与.xls文件的保存或导出方式有关。例如,在excel中,如果你检查工作表,有时会出现警告。但是,当你有自动文件,或者有大量需要用R打开的文件时,检查或重新保存是不现实的,我有一些例子.xls文件,无论我尝试什么选项,都无法被readxl、openxlsx库加载(例如,指定sheet,这往往能解决加载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)
© www.soinside.com 2019 - 2024. All rights reserved.