在RGoogleDocs中获取值而不是公式
有没有一种简单的方法来读取单元格的值而不是公式? 顺便说一句,我只是在我发布的电子表格中遇到这个问题,而不是在私人的电子表格中。 因此,例如,在一个单元格中,其值是通过直接使用Google电子表格左侧单元格中的值创建的,我更希望获得该值,而不是在RGoogleDocs中获取值而不是公式,r,google-docs,R,Google Docs,有没有一种简单的方法来读取单元格的值而不是公式? 顺便说一句,我只是在我发布的电子表格中遇到这个问题,而不是在私人的电子表格中。 因此,例如,在一个单元格中,其值是通过直接使用Google电子表格左侧单元格中的值创建的,我更希望获得该值,而不是=RC[-1] 当一个人将谷歌电子表格作为csv导出时,这种情况就不会发生 我在R中使用以下代码行 y2009<-sheetAsMatrix(ts2$y2009,header=TRUE, as.data.frame=TRUE, trim=TRUE)
=RC[-1]
当一个人将谷歌电子表格作为csv导出时,这种情况就不会发生
我在R中使用以下代码行
y2009<-sheetAsMatrix(ts2$y2009,header=TRUE, as.data.frame=TRUE, trim=TRUE)
y2009如果你没有偶然发现这个网页,它看起来很有用(我自己也没试过…)
看起来以前使用的包(RGoogleData)当前正在维护
祝你好运 这不是一个聪明的解决方案,但计算公式确实有效。例如,使用以下功能:
getValues <- function(x) {
m <- apply(x, 2, function(x) as.character(x))
for (i in 1:nrow(m)) {
formulas <- which(substr(m[i,], 1, 4) == "=RC[")
t <- sub('=RC[', '', m[i, formulas], fixed=TRUE)
t <- sub(']', '', t, fixed=TRUE)
t <- as.numeric(t)
m[i, formulas] <- m[i, (formulas + t)]
}
return(m)
}
getValues原来的问题是2009-09年写的。当时我正在使用RGoogleDocs阅读谷歌电子表格。在过去的几个月里,我在加拿大不列颠哥伦比亚省发现了一个由Jennifer Bryan和Joanna Zhao积极创建和维护的名为“”的软件包。起初它只在GitHub上,现在它在Cran存储库中。它工作得很好。它有利于阅读和写作。它不会公开一个人的谷歌密码。我以前在RGoogleDocs中遇到的所有问题都被谷歌表单弄得无关紧要 实际上,该页面上的解决方案并不依赖于任何R包。只要你在公开谷歌电子表格方面没有问题,它就可以很好地工作。是的,我应该把我的想法分开。我只是说,如果那页上的信息不起作用,还有RGoogleData软件包,它目前已经失效。也许你也想看看这个:我使用的大多数电子表格都是私有的,少数是公共的。因为我处于混合环境中,所以我更喜欢在RGooglDocs中完成所有操作。抱歉,无法复制。你把所有内容都更新到最新版本了吗?@Joris Meys:不幸的是,复制在这里不是问题:)如果你制作一张私人表格,其中一些单元格链接(等于)其他单元格,你将得到=RC[-x]
字符串而不是实际值。我使用的是最新版本的RGoogleDocs,因为我在Windows中工作,所以包中有一个二进制文件。我下载并使用了RGoogleDocs_0.4-1.zipYou可能会尝试一个更新的软件包:当然,一个智能的regexpr
会简化函数,但不幸的是,我对正则表达式没有深入的经验:(感谢您的尝试,但它不起作用。在我最新的问题迭代中,列中的公式是=RC[-2]&“\u”&RC[-1]。它非常简单。它将单元格2的内容向左粘贴到单元格1的内容向左粘贴,并在两个字符值之间添加下划线。我可以轻松地在R中复制它,但它仍然无法解决我的基本问题,即RGoogleDocs导入公式而不是公式的值。spreadsh我今天尝试的eet已经发布,所以任何有链接的人都可以查看它,但我仍然通过getGoogleAuth@Farrel:我明白了。我原以为你有所有这些简单的“函数”。稍微深一点的编码可能会“解决”你的问题,虽然我不知道是什么原因导致了这个奇怪的事件。我稍后会回来看看你是否能解决这个问题!