【发布时间】:2017-05-24 12:26:27
【问题描述】:
我正在尝试在 R 中打开一个 163MB 的 .xlsx 文件。
library(openxlsx)
df <- read.xlsx(xlsxFile = "df.xlsx", sheet = 1, colNames = T)
这个小文件(相对较小)使用了我笔记本电脑上的所有 8GB RAM。
我有这个文件的 CSV 版本,但由于在其中一个列中使用了 , 和 ;,因此不能使用 CSV 选项,知道我最近加载了一个 kaggle 文件(0.5GB csv) 进入 R 并且仍然使用我的笔记本电脑浏览互联网?
编辑:pryr::object_size(df)的RAM使用+输出
【问题讨论】:
-
pryr::object_size(df)的结果是什么(可能需要install.packages("pryr"))? -
有两个可能的原因 1. 转换为 R 数据类型时,某些字段可能占用比原始文件更多的空间(或在某些情况下更少) 2. xlsx 文件被压缩,因此扩展加载时的预期行为
-
当您说您有 CSV 版本但“CSV 不是一个选项”时,这是否意味着您的 CSV 格式不正确?在文件中使用逗号和分号是完全合法的,如果格式正确,R 会很好地读取它。 (也许您可以从 xlsx 重新导出为 csv,如果您的版本格式不正确并且您在读取 xlsx 时仍然遇到问题。)
-
感谢您的建议。 @Phil 我更新了帖子,使其包含 RAM 使用情况的图片和
pryr::object_size(df)的输出@ -
@Richard 我不确定看到 Phil 建议的函数的输出我猜可能还有其他原因