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

相關問題