使用R轻松读取Google Sheets

如果我问你一个问题:“你使用电子表格吗?”,我会立即得到一个肯定的回答。这显示了电子表格在日常业务操作中的受欢迎程度和实用性。如果你是一名分析师,那么电子表格是无价之宝。你可能既使用过Excel,也使用过Google表格进行工作。很有可能你已经多次将Excel表格读入R中。但是,你有没有想过将Google表格读入R?如果还没有,值得一试。


开始使用Google Sheets

你听说过Google Sheets吧,它就像Excel一样。它可以帮助你组织、编辑和分析不同类型的数据。但与Excel不同的是,Google Sheets是一个基于网络的电子表格程序,鼓励合作。

这将自动与您的Google帐号、Google驱动和其伙伴服务(如Google文档和幻灯片)同步。在Google表格中,您无需每次保存。它提供了自动保存功能,每次操作后都会更新表格。是不是很酷?

如果我们谈论界面,谷歌表格将会在Excel的基础上进行合理的改动。您可以自由共享表格以进行任何合作。大多数情况下,多人可以实时在表格上工作,这将使我们的生活更加轻松。

我认为关于Google Sheets的信息已经足够了,我们来探索一些令人兴奋的东西吧!


使用R语言读取Google Sheets

使用包 ‘googlesheets4’,您可以在R中读取Google Sheets数据。该包将让您使用R访问表格。

首先,您需要在R中安装“googlesheets4”包,然后您必须加载该库以继续进行。

#Install the required package
install.packages('googlesheets4')
#Load the required library 
library(googlesheets4)

太好了。我们的‘googlesheets4’库现在已经可以从谷歌表中获取数据了。


1. 设置授权

你不能立刻从Google Sheets读取数据。由于Gsheets是基于网络的电子表格,它们将与你的Google邮箱关联。因此,你必须允许R访问Google Sheets。

你以前可能使用过类似read.csv或read.table的函数将数据读入R中。但是在这里,你不需要提及文件类型。你只需要从浏览器中复制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:是,才能继续授权过程。

作为第一步,如果您已经登录了多个G账户,则会要求您按如下所示继续使用您的账户。

Account Sign In  - Reading Google Sheets Into R
  • You have to select your account to authorise R to access the G sheets. This process is followed by multiple authorizations. You have to allow R to in all those steps.
Access - Reading Google Sheets Into R
  • In the below picture, you will be shown the permissions you are giving to the Tidyverse API. Click “Allow” and you are done.
Access Authorization - Reading Google Sheets Into R
  • After the successful authorization, you can see the completion message.
Authorization Success
  • After this, you will see a successful authorization message in the R studio as shown below.
Rstudio

将数据读入R中

很棒!你已经成功完成了授权过程。现在让我们看看如何从Google表格中将数据读入R语言。

#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如何使用函数”read_sheet”从Google表格读取数据。

我也在这里附上数据框以供您参考/理解。

Credit Data - Reading Google Sheets Into R
  • Once you setup the account, it will be a very easy game.

3. 使用 Sheet ID 将 Google Sheets 读取到 R 中。

不需要复制表格链接来读取数据。你只需要复制表格ID并在read_sheet函数中使用它。它会像往常一样读取数据。

如果您不知道工作表ID,我已经添加了一个工作表链接,并用颜色突出了工作表ID。您可以复制这个ID并按照相同的步骤进行操作。

请将以下内容改写成中文的本地语言:
https://docs.google.com/spreadsheets/d/1J9-ZpmQT_oxLZ4kfe5gRvBs7vZhEGhSCIpNS78XOQUE/edit#gid=0

请将此链接改为中文本地语言

你可以在下面找到讨论过的代码。

#Reads the data with Sheet ID into R
df <- read_sheet('1J9-ZpmQT_oxLZ4kfe5gRvBs7vZhEGhSCIpNS78XOQUE')

#Prints the data
df

这段代码会给出相同的输出,即数据。我在整个示例中使用了信用数据。您可以为此目的使用任何数据。我希望从现在开始,将Google Sheets读入R对您来说不再是一个问题。


结束语

几乎所有组织都使用Google表格进行业务运营和数据处理。作为分析师或R用户,如果您知道如何与Google表格和R一起工作,将非常有益。这是一个非常简单的方法,您可以在您的数据和表格ID/链接上进行实践。我希望您学到了一些东西,这将节省您在工作中的时间。暂时就这些,祝您使用R愉快!

更多阅读:R文档

广告
将在 10 秒后关闭
bannerAds