在具有特定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
软件包的依赖关系都是最新的。我对尝试其他方法一无所知,不胜感激。
答案 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是否试图解决 这些在加载数据导致挂起之前。我不知道为什么 它只会挂在我当前的计算机上,而同一文件不会挂起 在另一台计算机上加载时。