【发布时间】:2013-11-12 09:44:29
【问题描述】:
我总是将 excel 文件转换为 CSV 文件以导入到 R 中,如下所示。
myDataFrame <- read.csv("mydatafile.csv", stringsAsFactors=F)
但是,当我转换用中文编写的 xlsx 文件时,我遇到了一个严重的问题。大多数字符(不是全部)显示'??'因为编码。
所以,我决定使用xlsx 包直接导入。但问题是excel文件的大小超过10MB。
由于 JVM 内存限制,它给了我一条错误消息。 (我假设 xlsx 在内部使用 Java。)
.jcall("RJavaTools", "Ljava/lang/Object;", "invokeMethod", cl, 中的错误:
java.lang.OutOfMemoryError: 超出 GC 开销限制
如何将中文excel文件导入R?我尝试了“另存为..”CSV 文件,并在记事本中打开它,并使用选项“UTF-8”保存它。但结果是一样的(显示'??')。
仅供参考,我可以在原始 excel 文件中看到完整的汉字。
【问题讨论】:
-
在我看来,您还没有完成看似显而易见的搜索:[r] chinese encoding
-
这似乎不是关于 R 的问题?如果是关于读入 R,很好,很乐意提供帮助,但发帖人的问题是他无法以正确的编码将 Excel 工作簿导出为 CSV。这确定是 Excel 和/或操作系统问题吗?
-
[This question](stackoverflow.com/questions/4221176/excel-to-csv-with-utf8-encoding) 对将 Excel 文件保存为 UTF-8 文本或其他中间格式有很多有用的回答比如 UTF-16 在获取 UTF-8 文本文件的路上。
-
@SlowLearner 感谢您的评论。但是,我已经尝试过使用 OpenOffice。 OpenOffice 无法打开 excel 文件。我一直在等待超过 10 分钟才能打开文件(冻结)。我认为这是因为它的大小。我不允许使用谷歌办公室。我们公司的安全团队阻止登录谷歌帐户(并阻止上传)。
-
@DWin 感谢您的评论。我不担心导入使用不同编码的数据。我可以更改编码选项 'encoding="UTF-8"' 或其他。这个问题有2个问题。 1.如何将excel转换为UTF-8或其他编码格式的csv。 2. excel文件超过10MB如何使用xlsx包