Я использую функцию write.xlsx()
(из пакета openxlsx
), чтобы превратить объект списка в электронную таблицу Excel, где каждый элемент списка преобразуется в «лист» файла Excel. В прошлом эта функция была невероятно полезной, и я никогда не сталкивался с какими-либо проблемами. Насколько я понимаю, этот пакет и его функция, в частности, не нуждаются в каком-либо конкретном обновлении Java на компьютере для его работы.
Однако недавно я обнаружил, что функция выдает ошибку. Вот что говорится в консоли, когда я запускаю write.xlsx () для списка:
Error in gsub("&", "&", v, fixed = TRUE) :
input string 5107 is invalid UTF-8
Я определил кадры данных, которые являются причиной проблемы, но я не уверен, как определить, какая часть кадра данных вызывает ошибку.
Я даже пошел дальше и использовал функцию enc2utf8()
для всех столбцов в этом фрейме данных, в частности, но я все еще сталкиваюсь с ошибкой. Я использовал функцию substr()
на самом фрейме данных, и он показывает мне первые n
символы каждого столбца, хотя я не вижу каких-либо очевидных проблем из вывода.
Я даже пошел дальше и использовал функцию install.packages()
для повторной загрузки пакета openxlsx
в случае каких-либо обновлений.
Кто-нибудь знает, как мне определить причину ошибки? Это функция, как написано в пакете? Если проблема заключается в кодировании самих данных, не достаточно ли enc2utf8()
для решения проблемы?
Спасибо!