机器特定的慢速read_excel读取时间

时间:2018-12-29 09:08:34

标签: r readxl

在具有特定xlsm文件的特定计算机上,使用read_excel的读取时间非常慢。在2台不同的机器上读取相同的xlsm文件,读取时间为72秒和0.2秒。较慢的机器实际上具有更多的计算能力。

两台计算机都是Windows,我在两台计算机上都使用readxl软件包版本1.1.0。我尝试在速度较慢的计算机上使用软件包v1.2.0,并且仍然存在相同的问题。

过去两年多来,我一直在将此xlsm文件读取到R中,没有任何问题。在过去的两年中,我一直定期在excel文件上运行一组宏。但是,现在,当我运行那些相同的宏并保存文件时,速度较慢的计算机现在需要70s而不是<1s才能将其读取到R中。如果我要求速度较慢的计算机读取xlsm文件的较早版本,则没有问题。该文件约为15MB。我要求read_excel读取xlsm文件的哪个标签都没有关系,时间仍然是70秒左右。

我已经更新了R(v3.5.2),并确保所有readxl软件包的依赖关系都是最新的。我对尝试其他方法一无所知,不胜感激。

1 个答案:

答案 0 :(得分:1)

编辑:当我测试下面的解决方案时,它只能工作一次,然后再也无法工作。

新解决方案:我能找到的唯一真正的解决方案是恢复到旧版本的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是否试图解决   这些在加载数据导致挂起之前。我不知道为什么   它只会挂在我当前的计算机上,而同一文件不会挂起   在另一台计算机上加载时。