使用Python阅读和更新Google

使用Python阅读和更新Google

总览

  • 了解如何设置Google服务帐户
  • 使用Python在Google Spreadsheets中读取和写入数据

介绍

工作自动化是达到功能效率的

总览
了解如何设置Google服务帐户
使用Python在Google Spreadsheets中读取和写入数据
介绍
工作自动化是达到功能效率的最快方法之一。而且,在当今成功取决于速度的时代,无数重复性任务的自动化在任何行业和最基本的功能级别上都扮演着关键角色。但是我们许多人不了解如何自动执行某些任务,并最终陷入了手动再次执行相同操作的循环。

例如,我们经常每天花费数小时来提取数据,然后将其粘贴到电子表格中并创建报告,从而导致大量时间消耗。因此,如果我们只运行脚本,然后将数据上传到电子表格中,而只需单击一下即可准备报告,那就太好了。报表自动化具有多个优点,例如您将能够节省数据收集和消除打字错误的时间,并且重点将更多地放在分析部分。

在本文中,我们将逐步介绍设置Google服务帐户的过程。我们将利用Google API通过python读取Google电子表格数据,还将使用python更新电子表格中的数据。我们将从电子表格中读取板球评论数据,找出每个击球手得分的跑动次数,然后将结果上传到单独的电子表格中。

目录
创建Google服务帐户
从Google表格中读取数据
更新Google表格中的数据
创建Google服务帐户
为了从python中的Google电子表格中读取和更新数据,我们将必须创建一个服务帐户。这是一种特殊的帐户,用于对Google Cloud Services进行授权的API调用。首先,请确保您拥有一个Google帐户。如果您拥有Google帐户,则可以按照以下步骤创建Google服务帐户。

转到开发人员的控制台。 现在,您将看到类似这样的内容。单击创建项目按钮。

然后提供项目名称和组织名称(可选)。然后点击创建按钮。

现在,创建我们的项目,我们需要启用该项目中需要的API。点击启用API和服务按钮以搜索Google提供的API。

因此,我们将为我们的项目添加两个API。

Google Sheets API
Google Drive API
然后,在搜索栏中搜索这些API,然后单击启用按钮。

Google Sheets API将如下所示。它将允许您访问Google Spreadsheets。您将能够阅读和修改电子表格中存在的内容。

Google云端硬盘API如下所示。它将允许您从Google云端硬盘访问资源。

在项目中启用所需的API后,就可以为服务帐户创建凭据了。单击创建凭据按钮以继续。

现在,在API必填问题类型中选择Google Drive API 。我们将从非基于UI的平台上调用API,因此请选择其他非UI(例如cron作业,守护程序)。在下一个问题中选择应用程序数据,因为我们不需要任何用户数据即可运行我们的应用程序。而且,我们没有为我们的应用程序使用任何基于云的计算引擎。最后,单击“ 我需要什么凭证”?按钮。

然后,与其他人共享Google电子表格,并提供权限,例如仅编辑或查看。同样,我们将提供对我们服务帐户的访问。我们将为它提供完整的访问权限,以便我们能够读取和编写电子表格以及下载凭证的JSON文件。

现在,将下载一个JSON文件,其中包含用于访问API的密钥。我们的Google服务帐户已可以使用。在下一节中,我们将读取和修改电子表格中的数据。

从Google表格中读取数据
我们将阅读印度孟加拉国板球比赛的评论数据。

电子表格中有完整比赛的逐球数据。现在,我们将做一个非常基本的任务,并计算每个击球手的得分。我们可以通过在熊猫中使用简单的groupby来做到这一点。最后,我们将结果上传到单独的表格中。

提供对Google表格的访问权限
现在,我们需要提供对Google工作表的访问权限,以便API可以访问它。打开我们从开发人员控制台下载的JSON文件。在JSON文件中查找client_email并将其复制。

然后,单击电子表格上的“共享”按钮,并提供对此客户电子邮件的访问权限。

现在,我们准备使用python编写代码并访问该工作表。以下是步骤-

1.导入库
我们将使用gspread和oauth2client服务授权并向Google Cloud Services进行API调用。

您可以使用以下命令安装库。

pip3 install –upgrade google-api-python-client oauth2client

2.定义应用范围
然后,我们将定义应用程序的范围,并添加具有用于访问API的凭据的JSON文件。

3.创建图纸实例
使用客户端对象并打开工作表。您只需要传递工作表的标题作为参数。另外,如果需要,您可以传递工作表的URL。

访问特定工作表:在一个电子表格中有多个工作表。您可以通过在get_worksheet函数中提供该工作表的索引来使用python访问特定的Google电子表格。对于第一张纸,传递索引0,依此类推。

基本功能
该API提供了一些基本功能,例如通过使用col_count来获取列数,并获取特定单元格中的值。这里有一些相同的例子。

4.获取所有记录
然后,我们将使用get_all_records函数获取工作表中存在的所有数据。它将返回一个包含数据的JSON字符串。

5.将字典转换为数据框
在数据科学中,熊猫是执行数据操作任务的首选库之一。因此,我们首先将JSON字符串转换为pandas数据框。

6.分组击球手
然后,我们将创建一个由击球手打分的跑步次数的分组依据,并将该数据框上传到单独的表格中。

现在,我们将这个数据框添加到Google表格中。

更新Google表格中的数据
以下是更新Google表格中数据的步骤。

创建一个单独的工作表
首先,我们将创建一个单独的表来存储结果。为此,请使用add_worksheet函数并传递所需的行数和列数以及工作表的标题。之后,通过提供索引1获得第二张纸的实例。
运行此命令后,您将看到创建了一个单独的工作表。

将值更新到工作表
然后,将运行数据帧转换为二维列表,并使用该函数在工作表中添加值。使用这一行代码,您可以更新工作表。然后,您将收到一条消息,其中包含更新的行和列数以及更多详细信息。

尾注
总之,在本文中,我们深入了解了创建服务帐户过程中涉及的各个步骤。以及如何直接从python控制台读取google电子表格中的内容。我们下载了电子表格数据,并将其转换为pandas数据框,并创建了一个groupby表并将其再次上传到电子表格中。该API在报表自动化中非常有用。

我希望这可以帮助您自动化脚本并节省大量宝贵时间。如有任何疑问,请访问评论部分。我很乐意为您提供帮助。

发表评论

您的电子邮箱地址不会被公开。