小编Bru*_*x13的帖子

readxl::read_xls 返回“libxls 错误:无法打开文件”

我有多个 .xls (~100MB) 文件,我想从中将多个工作表(从每个工作表)作为数据帧加载到 R 中。我尝试了各种函数,例如xlsx::xlsx2and XLConnect::readWorksheetFromFile,它们总是运行很长时间(> 15 分钟)并且永远不会完成,我必须强制退出 RStudio 才能继续工作。

我也试过gdata::read.xls,它确实完成了,但每张纸需要超过 3 分钟,而且它不能像XLConnect::loadWorkbookcan一样一次提取多张纸(这对加快我的管道非常有帮助)。

执行这些函数所需的时间(我什至不确定如果让它们运行更长时间,前两个函数是否会完成)对于我的管道来说太长了,我需要同时处理许多文件。有没有办法让这些更快地完成/完成?

在几个地方,我看到了使用该功能的建议,该功能readxl::read_xls似乎被广泛推荐用于此任务,并且每张纸应该更快。然而,这个给了我一个错误:

> # Minimal reproducible example:
> setwd("/Users/USER/Desktop")
> library(readxl)
> data <- read_xls(path="test_file.xls")
Error: 
  filepath: /Users/USER/Desktop/test_file.xls
  libxls error: Unable to open file
Run Code Online (Sandbox Code Playgroud)

我还进行了一些基本测试,以确保文件存在且格式正确:

> # Testing existence & format of the file
> file.exists("test_file.xls")
[1] TRUE
> format_from_ext("test_file.xls")
[1] "xls"
> format_from_signature("test_file.xls")
[1] "xls"
Run Code Online (Sandbox Code Playgroud)

test_file.xls上面使用的是可在这里。在使第一个功能运行得更快或read_xls根本运行方面的任何建议将不胜感激- 谢谢!

更新:

这似乎有些用户能够打开上面使用的文件readxl::read_xls …

macos excel xls r readxl

6
推荐指数
1
解决办法
5832
查看次数

标签 统计

excel ×1

macos ×1

r ×1

readxl ×1

xls ×1