尝试使用 write_xlsx

问题描述

使用 R 大约两年了,这是我第一次遇到这个问题。我有一个大约有 31,000 行和 400 列的 data.frame,我想使用 write_xlsx 导出到 Excel 表

当我尝试这个时,我收到以下错误

write_xlsx(data,"FILEPATH")

[ERROR][libxlsxwriter/packager.c:1142]: Error in writing member in the zipfile

[ERROR] workbook_close(): Zip ZIP_ERRNO error while creating xlsx file 'FILEPATH'. System error = No error

Error: Error in libxlsxwriter: 'Zip generic error ZIP_ERRNO while creating the xlsx file.'

我认为这个错误是在我无意中尝试打开 R 正在编写的 Excel 文件时才开始的。我已经关闭了 R 并重新启动并重新安装了 writexl 包,但无济于事。

我尝试导出的数据大约为 150MB。当我尝试编写一个较小的文件 (1.5mb) 时,这是可行的,但是当我尝试打开 excel 文件时,它说它已被 R 锁定以进行编辑,并且可以“只读”打开。

我过去导出了比这大得多的数据,没有出现任何问题,因此无法弄清楚,感谢任何帮助。

解决方法

您使用的是什么操作系统,是否有可能您的 tmp 目录中的可用空间不足? – jmcnamara 昨天

我认为你已经破解了它。我周一回到工作岗位,再次运行脚本,果然第一次成功了。唯一的区别是我从我正在工作的目录中删除了一些内容,因为我收到了磁盘已满的通知!

,

我不知道 write_xlsx,但我建议一个简单的替代方案如下:

library(rio)
library(xlsx)
export(data,"exportname.xlsx")

但是在您的代码中,您可能需要添加如下文件名:

library(writexl)
write_xlsx(data,"FILEPATH// file name.xlsx")

这个来源可能有帮助:https://datatofish.com/export-dataframe-to-excel-in-r/