希望能够使用googlesheets包将Google表格单元格值读入R,但不应用任何单元格格式(例如逗号分隔符,百分比转换等)。
尝试了gs_read()而未指定范围,该范围使用gs_read_csv(),它将通过exportcsv链接"从Sheets API请求数据"。无法在没有应用格式化的情况下告诉它提供基础单元格值的方法。
同样,尝试了gs_read()并指定了一个使用gs_read_cellfeed()的范围。但无法找到一种方法来表明我想要未格式化的单元格值。
注意:我不是在任何单元格中的公式之后,只是没有应用任何格式的值。
示例: (看起来我不能发布图像图像) 以下是Google表格示例的屏幕截图: https://www.dropbox.com/s/qff05u8nn3do33n/Screenshot%202015-07-26%2008.42.58.png?dl=0 第一列和第三列是数字,未应用格式,第二列应用逗号分隔符数千,第四列应用百分比格式。
使用以下代码阅读此表:
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列),但要读取未格式化的值(ala第1列和第3列)。
答案 0 :(得分: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
方式更好地解决这个问题。