我使用该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()
还不足以解决问题吗?
谢谢!