Чтение значений ячеек без форматирования в R с помощью googlesheets
Хотелось бы иметь возможность считывать значения ячеек Google Sheets в R с помощью пакета googlesheets, но без применения какого-либо форматирования ячеек (например, разделителей запятых, процентного преобразования и т. Д.).
Пробовал gs_read() без указания диапазона, который использует gs_read_csv(), который будет "запрашивать данные из API Sheets через ссылку exportcsv". Не удается найти способ указать значение базовой ячейки без применения форматирования.
Точно так же пробовал gs_read() и указывал диапазон, который использует gs_read_cellfeed(). Но не могу найти способ указать, что я хочу неформатированные значения ячеек.
Примечание: я не после формул в каких-либо ячейках, просто значения без применения форматирования.
Пример:(похоже, я не могу публиковать изображения) Вот снимок экрана примера Google Sheet: https://www.dropbox.com/s/qff05u8nn3do33n/Screenshot%202015-07-26%2008.42.58.png?dl=0 Первый и третий столбцы являются числовыми без форматирования, 2-й столбец применяет разделители запятых для тысяч, 4-й столбец применяет процентное форматирование.
Чтение этого листа со следующим кодом:
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%"
Хотелось бы иметь возможность читать рабочий лист с примененным форматированием (аля столбцы 2 и 4), но читать неформатированные значения (аля столбцы 1 и 3).
1 ответ
На данный момент, я думаю, что вам лучше всего исправить импортированные данные следующим образом:
> 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
было бы неплохим ответом, но похоже, что проценты и числа в "валютном" стиле тоже не решены.
Я открыл вопрос, чтобы решить эту проблему лучше в googlesheets
, так или иначе.