gpt4 book ai didi

excel - ROBDC SqlSave : How to export data into Excel sheets?

转载 作者:行者123 更新时间:2023-12-04 20:20:03 25 4
gpt4 key购买 nike

我正在尝试将数据从 R 导出到一个 Excel 文件(到不同的工作表中):

library(plyr)
library(RODBC)

g <- lapply(iris, function(x) as.data.frame(table(x)))
save2excel <- function(x) sqlSave(xlsFile,
x, tablename = x[1], rownames = FALSE)
xlsFile <- odbcConnectExcel("C:/Temp/iris.xls", readOnly = FALSE)
l_ply(g, save2excel)
odbcCloseAll()

这会产生错误:
Error in sqlColumns(channel, tablename) : 
‘1:35’: table not found on channel

问题出在 tablename = x[1] ,如何将列表名称转换为工作表名称?

最佳答案

您必须提供 names(g)以某种方式影响您的功能。最简单的解决方案类似于 mapply .

此外,无论出于何种原因,Excel ODBC 驱动程序似乎都不喜欢工作表名称中的点,即使 Excel 本身可以处理它们。因此,您必须将“Sepal.Length”之类的名称更改为“Sepal_Length”等。

在全:

g <- lapply(iris, function(x) as.data.frame(table(x)))
names(g) <- gsub("\\.", "_", names(g))
xl <- odbcConnectExcel("c:/temp/iris.xls", readOnly=FALSE)
mapply(sqlSave, dat=g, tablename=names(g),
MoreArgs=list(channel=xl, rownames=FALSE))
odbcCloseAll()

关于excel - ROBDC SqlSave : How to export data into Excel sheets?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8501292/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com