Ошибка при попытке экспортировать фрейм данных с помощью write_xlsx

Я использую R около двух лет, и это первый раз, когда я столкнулся с этой проблемой. У меня есть data.frame с примерно 31 000 строк и 400 столбцов, и я хочу экспортировать в лист Excel, используя write_xlsx

Когда я пытаюсь это сделать, я получаю следующую ошибку:

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.'

Я думаю, что эта ошибка возникла, когда я непреднамеренно попытался открыть файл Excel, который R писал до того, как он был фактически завершен. Я закрыл R и перезапустил, а также переустановил пакет writexl безрезультатно.

Данные, которые я пытаюсь экспортировать, составляют около 150 МБ. Когда я пытаюсь записать файл меньшего размера (1,5 МБ), это работает, но когда я пытаюсь открыть файл Excel, он говорит, что он заблокирован для редактирования с помощью R и может быть открыт «только для чтения».

В прошлом я экспортировал гораздо большие данные, чем это, без проблем, поэтому не могу понять это, любая помощь приветствуется.


person pdunbar    schedule 15.04.2021    source источник
comment
Почему бы не использовать это: `write.xlsx(write_xlsx(данные, FILEPATH.xlsx)   -  person Kian    schedule 15.04.2021
comment
Когда я пытаюсь сделать это выше, он отвечает, что не может найти функцию write.xlsx. Я также пробовал write_xlsx(write_xlsx(data, FILEPATH.xlsx)) но получаю ту же ошибку. Может быть, я что-то упускаю, но не понимаю, как это может работать?   -  person pdunbar    schedule 15.04.2021
comment
вы использовали library(xlsx)? вы должны запустить библиотеку (xlsx), затем `write.xlsx(write_xlsx(data, FILEPATH.xlsx)`   -  person Kian    schedule 16.04.2021
comment
Какую ОС вы используете и возможно ли, что у вас заканчивается свободное место в каталоге tmp?   -  person jmcnamara    schedule 20.04.2021


Ответы (2)


Какую ОС вы используете и возможно ли, что у вас заканчивается свободное место в каталоге tmp? - jmcnamara вчера

Я думаю, ты взломал его. Я вернулся на работу в понедельник, снова запустил скрипт и, конечно же, он сработал с первого раза. Единственная разница в том, что я удалил некоторый контент из каталога, в котором работал, потому что у меня было полное уведомление о диске!

person pdunbar    schedule 21.04.2021

Я не знаю 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/

person LucaCoding    schedule 21.04.2021