Простое чтение данных из Google-таблиц в R
Development | Комментировать запись
Сегодня трудно встретить человека, который бы никогда не сталкивался с электронными таблицами. Таблицы невероятно популярны и полезны (можно сказать – незаменимы) в повседневных бизнес-операциях.
Читайте также: Что делают аналитики данных?
Возможно, в своей работе вы уже сталкивались с таблицами Excel и Google. Если вы работаете с R, есть большая вероятность, что вы много раз читали данные из листов Excel. Но пробовали ли вы когда-нибудь прочитать данные из Google Sheets в R? Если еще нет, то это стоит попробовать сделать.
Начало работы с Google Таблицами
Таблицы Google позволяют организовывать, редактировать и анализировать различные типы данных. Но, в отличие от Excel, Google Sheets — это веб-программа для работы с электронными таблицами, которая позволяет работать с ними совместно.
Этот сервис автоматически синхронизируется с учетной записью Google, Google Диском и другими сервисами, такими как Google Документы и Google Слайды. В Google Таблицах не нужно сохранять данные – для этого существует встроенная функция автосохранения, которая самостоятельно сохраняет ваши листы после каждого нового действия. Если говорить об интерфейсе, то в Google Sheets он очень похож на Excel, лишь с некоторыми изменениями. Google Sheets позволяет делиться таблицами с другими пользователями: тогда несколько человек могут работать с листами в режиме реального времени.
Чтение данных из Google Таблиц в R
Вы можете читать данные Google Sheets в R, используя пакет ‘googlesheets4’. Этот пакет позволит вам получить доступ к листам с помощью языка R.
Сначала нужно установить пакет ‘googlesheets4’ в R, а затем загрузить библиотеку.
#Install the required package
install.packages('googlesheets4')
#Load the required library
library(googlesheets4)
Итак, теперь библиотека ‘googlesheets4’ готова к работе, давайте попробуем читать данные.
1: Настройка авторизации
Сразу прочитать данные из Google Таблиц не получится. Поскольку Google Таблицы — это электронные таблицы в Интернете, они связаны с вашей почтой Google. Следовательно, сначала вы должны разрешить R доступ к своим таблицам Google.
Для чтения данных в R можно использовать такие функции, как read.csv или read.table. Но в данном случае вам не нужно упоминать тип файла. Все, что нужно сделать – это скопировать ссылку на Google Sheets из браузера, вставить ее сюда и запустить код.
Как только вы запустите приведенный ниже код, вы увидите интерфейс для дальнейшей работы.
#Read google sheets data into R x <- read_sheet('https://docs.google.com/spreadsheets/d/1J9-ZpmQT_oxLZ4kfe5gRvBs7vZhEGhSCIpNS78XOQUE/edit?usp=sharing')
Вы увидите:
Is it OK to cache OAuth access credentials in the folder 1: Yes 2: No
Выберите вариант 1: YES, чтобы продолжить процесс авторизации.
Если у вас есть несколько учетных записей Google, вам будет предложено выбрать одну из них, чтобы продолжить работу.
Выберите необходимую учетную запись, чтобы предоставить R доступ к данным. Этот процесс состоит из нескольких шагов, и вы должны разрешить R выполнить все.
На картинке ниже перечислены привилегии, которые вы даете Tidyverse API. Нажмите Allow, чтобы закончить настройку.
После успешной авторизации вы увидите сообщение, что авторизация прошла успешно:
После этого вы увидите сообщение об успешной авторизации в R studio:
2: Чтение данных в R
Итак, мы успешно завершили процесс авторизации. Теперь давайте посмотрим, как мы можем читать данные в R из Google таблиц.
#Reads data into R df <- read_sheet('https://docs.google.com/spreadsheets/d/1J9-ZpmQT_oxLZ4kfe5gRvBs7vZhEGhSCIpNS78XOQUE/edit?usp=sharing') #Prints the data df
Вы получите:
# A tibble: 1,000 x 20 months_loan_dura~ credit_history purpose amount savings_balance employment_leng~ <chr> <dbl> <chr> <chr> <dbl> <chr> 1 < 0 DM 6 critic~ radio~ 1169 unknown 2 1 - 200 DM 48 repaid radio~ 5951 < 100 DM 3 unknown 12 critic~ educa~ 2096 < 100 DM 4 < 0 DM 42 repaid furni~ 7882 < 100 DM 5 < 0 DM 24 delayed car (~ 4870 < 100 DM 6 unknown 36 repaid educa~ 9055 unknown 7 unknown 24 repaid furni~ 2835 501 - 1000 DM 8 1 - 200 DM 36 repaid car (~ 6948 < 100 DM 9 unknown 12 repaid radio~ 3059 > 1000 DM 10 1 - 200 DM 30 critic~ car (~ 5234 < 100 DM # ... with 990 more rows, and 14 more variables: installment_rate <chr>, # personal_status <dbl>, other_debtors <chr>, residence_history <chr>, # property <dbl>, age <chr>, installment_plan <dbl>, housing <chr>, # existing_credits <chr>, default <dbl>, dependents <dbl>, telephone <dbl>, # foreign_worker <chr>, job <chr>
Как видите, R может читать данные из листов Google, используя функцию read_sheet.
В качестве иллюстрации добавим сюда фрейм:
Как видите, как только вы настроите учетную запись, игра станет очень простой.
3: Чтение данных из таблиц Google в R с помощью идентификатора листа
Чтобы прочитать данные, вам не нужно копировать ссылку на лист. Вы можете просто скопировать идентификатор листа и использовать его с функцией read_sheet. Этого достаточно, чтобы считать данные.
Если вы не знаете, как найти идентификатор листа перейдите по этой ссылке на лист и вы увидите там выделенный Sheet ID. Вы можете скопировать его.
Чтобы считать данные с помощью идентификатора, используйте такой код:
#Reads the data with Sheet ID into R df <- read_sheet('1J9-ZpmQT_oxLZ4kfe5gRvBs7vZhEGhSCIpNS78XOQUE') #Prints the data df
В результате код считает те же данные, что и в предыдущем разделе.
Итоги
Надеемся, что теперь чтение данных из таблиц Google в R не будет для вас проблемой.
Почти все организации используют Google таблицы для бизнес-операций и работы с данными. Любому аналитику или пользователю R необходимо уметь работать с Google Sheets в R. В этом материале мы описали очень простой метод, который вы можете самостоятельно проверить на своих данных. Надеемся, что это сэкономит ваше время.
Читайте также:
Tags: R