Site icon 8HOST.COM

Простое чтение данных из Google-таблиц в R

Сегодня трудно встретить человека, который бы никогда не сталкивался с электронными таблицами. Таблицы невероятно популярны и полезны (можно сказать – незаменимы) в повседневных бизнес-операциях.

Читайте также: Что делают аналитики данных?

Возможно, в своей работе вы уже сталкивались с таблицами 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. В этом материале мы описали очень простой метод, который вы можете самостоятельно проверить на своих данных. Надеемся, что это сэкономит ваше время.

Читайте также: