使用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账户,则会要求您按如下所示继续使用您的账户。
- 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.
- In the below picture, you will be shown the permissions you are giving to the Tidyverse API. Click “Allow” and you are done.
- After the successful authorization, you can see the completion message.
- After this, you will see a successful authorization message in the R studio as shown below.
将数据读入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表格读取数据。
我也在这里附上数据框以供您参考/理解。
- 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文档