【问题标题】:R read_excel: libxls error: Unable to parse fileR read_excel:libxls错误:无法解析文件
【发布时间】:2020-06-21 21:26:10
【问题描述】:

我正在尝试使用 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”。

如何解决?

【问题讨论】:

  • 您输入的字数肯定超过readxl::read_excel?也许你确实输入了readxl::excel_sheets(),但是让一个 R 函数做某事而不给它任何参数有点像让它读懂你的想法。
  • @42- 是的,填写了所有必要的参数(包括文件路径、工作表、单元格范围等)。我只是不知道为什么它会给出“解析”的错误,大多数在线帖子都是关于“打开”的错误。

标签: r import xls


【解决方案1】:

我经常遇到这个问题(完全相同的错误消息),这似乎与 .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)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 2014-10-24
    • 2023-03-03
    • 1970-01-01
    • 2022-01-11
    相关资源
    最近更新 更多