相关疑难解决方法(0)

直接从R脚本读取Excel文件

如何将Excel文件直接读入R?或者我应该首先将数据导出到文本或CSV文件并将该文件导入R?

excel r r-faq

93
推荐指数
11
解决办法
18万
查看次数

从R写入Excel时处理java.lang.OutOfMemoryError

xlsx软件包可用于从R读取和写入Excel电子表格.不幸的是,即使对于中等大小的电子表格,java.lang.OutOfMemoryError也可能发生.特别是,

library(xlsx)
set.seed(19790801)
n_sheets <- 40
the_data <- replicate(
  n_sheets,
  {
    n_rows <- sample(2e5, 1)
    data.frame(
      x = runif(n_rows),
      y = sample(letters, n_rows, replace = TRUE)
    )
  },
  simplify = FALSE
)
names(the_data) <- paste("Sheet", seq_len(n_sheets))
Run Code Online (Sandbox Code Playgroud)

(其他相关的例外也是可能的,但更罕见.)

在阅读电子表格时,有人提出了类似的问题.

将大型xlsx文件导入R?

使用Excel电子表格作为CSV上的数据存储介质的主要优点是,您可以在同一文件中存储多个工作表,因此我们在此处考虑每个工作表要写入一个数据框的数据框列表.此示例数据集包含40个数据框,每个数据框具有两列,最多200k行.它设计得足够大,有问题,但你可以通过改变n_sheets和改变大小n_rows.

wb <- createWorkbook()  
for(i in seq_along(the_data))
{
  message("Creating sheet", i)
  sheet <- createSheet(wb, sheetName = names(the_data)[i])
  message("Adding data frame", i)
  addDataFrame(the_data[[i]], sheet)
}
saveWorkbook(wb, "test.xlsx")  
Run Code Online (Sandbox Code Playgroud)

将此文件写入文件的自然方法是使用创建工作簿createWorkbook,然后循环遍历每个数据框调用createSheetaddDataFrame.最后,可以使用工作簿将文件写入文件 …

r xlsx

78
推荐指数
2
解决办法
5万
查看次数

将Excel工作簿中的所有工作表读入包含data.frames的R列表

据我所知,XLConnect可以用来将Excel工作表读入R.例如,这将读取一个名为test.xlsR 的工作簿中的第一个工作表.

library(XLConnect)
readWorksheetFromFile('test.xls', sheet = 1)
Run Code Online (Sandbox Code Playgroud)

我有一个包含多个工作表的Excel工作簿.

如何将工作簿中的所有工作表导入到R中的列表中,其中列表的每个元素都是给定工作表的data.frame,并且每个元素的名称对应于Excel中工作表的名称?

excel r xlconnect

62
推荐指数
8
解决办法
9万
查看次数

标签 统计

r ×3

excel ×2

r-faq ×1

xlconnect ×1

xlsx ×1