0

希望能够将Google表格单元格值读入R,并且没有应用任何单元格格式(例如逗号分隔符,百分比转换等)。通过Google表格读取没有格式化为R的单元格值

已经尝试了gs_read()而未指定范围,该范围使用gs_read_csv(),它将“通过exportcsv链接从Sheets API请求数据”。无法找到一种方法来告诉它在未应用格式的情况下提供基础单元格值。

同样,尝试了gs_read()并指定了一个使用gs_read_cellfeed()的范围。但找不到表示我想要格式化单元格值的方法。

注:我没有在任何单元格中的公式之后,只是没有应用任何格式的值。

例子: (貌似我不能张贴图片图像) 下面是一个例子谷歌片的截图: https://www.dropbox.com/s/qff05u8nn3do33n/Screenshot%202015-07-26%2008.42.58.png?dl=0 第一和第三列是数字的,没有应用的格式,第2列适用逗号分隔符为数千,第四列应用百分比格式。

用下面的代码读取该表:

library(googlesheets) 
gs <- gs_title("GoogleSheets Test") 
ws <- gs_read(gs, ws = "Sheet1") 

收率:

> str(ws) 
Classes ‘tbl_df’, ‘tbl’ and 'data.frame': 3 obs. of 4 variables: 
$ Number   : int 123456 123457 123458 
$ Number_wFormat : chr "123,456" "123,457" "123,458" 
$ Percent  : num 0.123 0.234 0.346 
$ Percent_wFormat: chr "12.34%" "23.45%" "34.56%" 

想能够读取已格式应用于工作表(ALA 2列和4),但读取未格式化的值(第1列和第3列)。

+0

您从gs_read()中得到的结果...它们受到单元格格式影响的方式是什么?即回报价值是什么问题?你能给个例子吗? Sheets API不提供对单元格格式的访问:“单元格单元的文字值是单元格的计算值,未应用格式。如果单元格包含公式,则计算值在此处给出。格式化的概念,因此不能操纵单元格的格式化。“ (顺便说一下,我是Google表格的作者)。 – jennybryan

+0

@jennybryan,首先感谢您编写googlesheets包 - 做得非常好。接下来,我通过一个详细的例子来更新我的问题,证明了这个问题。 –

回答

0

在这一点上,我认为最好的办法是解决像这样的进口数据:

> ws$Number_fixed <- type.convert(gsub(',', '', ws$Number_wFormat)) 
> ws$Percent_fixed <- type.convert(gsub('%', '', ws$Percent_wFormat))/100 
> str(ws) 
Classes ‘tbl_df’, ‘tbl’ and 'data.frame': 3 obs. of 6 variables: 
$ Number   : int 123456 123457 123458 
$ Number_wFormat : chr "123,456" "123,457" "123,458" 
$ Percent  : num 0.123 0.234 0.346 
$ Percent_wFormat: chr "12.34%" "23.45%" "34.56%" 
$ Number_fixed : int 123456 123457 123458 
$ Percent_fixed : num 0.123 0.234 0.346 

我有一些希望,后处理与readr功能将是一个不错的答案,但它看起来像percentages"currency" style numbers也是有问题的。

我有opened an issue以这种或那种方式在googlesheets中解决这个问题。

+0

您所寻找的未格式化的数字存在于XML中,这不仅仅是我目前正在导出的部分。因此,这是另一个改进Google Analytics表格的富有成效的途径 - 与[公式支持](https://github.com/jennybc/googlesheets/issues/18)的现有请求相关。 – jennybryan

相关问题