搜索
首页科技周边人工智能使用Python的Google表自动化|分析Vidhya

Google表是Excel的最受欢迎和广泛使用的替代方案之一,它提供了一个协作环境,具有实时编辑,版本控制和与Google Suite无缝集成等功能,使用户可以在Google文档中致电Google Sheept,并利用Google Workspace的最佳功能。虽然您可以使用pandas轻松地加载和使用Excel文件,但可以通过pandas进行编程,但可以用Google表复制类似的设置。作为SaaS产品,访问Google表数据需要使用其API,该数据支持各种编程语言,包括Java,JavaScript,Node.js,PHP,Ruby,Python, Python和Google自己的AppScript。本文着重于使用Python有效地将Google Sheape数据加载到PANDAS数据框架中,从而可以快速数据转换和分析。更改完成后,GSPREAD PYTHON库可用于将更新的数据推回Google表格,从而提供了一个方便的界面,以与Google Shealess API进行交互。

本文作为数据科学博客马拉松的一部分发表

目录

  • 设置您的Google Cloud项目
  • 了解gspread
  • 建立连接和开头电子表格
  • 创建和管理Google表格
  • 管理工作表
  • 细胞性质
  • 添加新的行和列
  • 获取单元格和范围值
  • 更新单元格
  • 删除行和列
  • 搜索单元格
  • 格式化细胞
  • 清晰的单元格和工作表
  • Google API的局限性
  • 常见问题

设置您的Google Cloud项目

如前所述,Google表是SaaS的产品,因此您需要准备自动化的额外步骤。流行的云计算平台Google Cloud Platform(GCP)提供了各种服务,可帮助与Google产品互动以及您的自定义项目的部署。

从广义上讲,我们需要遵循这三个步骤,以开始使用Google Sheales Automation。

创建和配置Google云项目

前往https://console.cloud.google.com/并注册免费帐户。下一个从左上方,单击项目选择菜单,然后选择新项目。提供一个项目名称,将组织作为“无组织”,HIT CREATE,您的GCP项目现在设置为“无组织”。

使用Python的Google表自动化|分析Vidhya

生成和确保API证书

我们需要启用Google表和Google Drive API并创建一个服务帐户。这种特殊类型的帐户使我们能够访问和管理Google Cloud资源,而无需人工互动。要启用Google表API,请在顶部搜索栏中搜索床单,然后选择“ Google Sheats API”。单击“允许”,它将将我们重定向到API详细信息页面。此处单击“创建凭据”,它将打开凭据创建表格。

使用Python的Google表自动化|分析Vidhya

从“选择”框中选择“应用数据”,然后单击下一步。在下一个屏幕上,为服务帐户提供有意义的名称,因为您将在以后的步骤中使用它。然后,选择“编辑器”角色。最后,在底部单击完成。

使用Python的Google表自动化|分析Vidhya

同样,可以启用Google Drive API。请注意,我们不需要为此API创建另一个服务帐户。现有的服务帐户将能够访问两个API。现在,我们需要下载凭据JSON,我们的Python脚本将消耗conference访问Google表格。单击新生成的服务帐户电子邮件,切换到“钥匙”选项卡,单击“添加键”按钮以选择“创建新密钥”选项,选择JSON,然后创建。

使用Python的Google表自动化|分析Vidhya

授予访问Google表格

我们的Python脚本将使用生成的凭据访问Google表。但是,我们需要手动授予对脚本将使用的文件的访问。为此,请复制为服务帐户生成的电子邮件(在服务帐户的详细信息选项卡中找到),然后将其作为所需文件的编辑器添加。

了解gspread

Gspread是Google表的Python API包装纸。它封装了Google Sheetsapi在单独的类和访问方法下提供的许多功能。它使其与Sheetsapi的互动易于浏览,并且可以迅速将其捡起。

要在本地环境中设置库,可以使用简单的PIP命令,例如任何其他Python软件包。将库在单独的环境中安装,以避免任何依赖性冲突。

 PIP安装Gspread

关于单元引用的快速注释

可以使用两个流行的符号来引用Google表中的单元格地址:

  • A1符号:此单元格参考由表格名称,行号和列字母组成。此参考文献无需提及表格名称,并允许您引用单个单元格,一系列单元格或整列。
  • 命名范围:这是具有自定义名称的定义范围,可轻松身份识别和简化的Google表格。

建立连接和开头电子表格

现在,我们已经设置了必要的访问和库,让我们测试我们的代码。在包含服务帐户电子邮件的电子表格中,在第一个单元格中输入一些随机文本。我们将尝试使用Python脚本来检索此值。

使用Python的Google表自动化|分析Vidhya

我们将使用JSON模块加载我们的凭据并将其传递到GSPREAD的“ Service_account_from_dict()”功能。这将返回Google表客户端对象,并且可以使用此对象使用“ Open()”函数打开任何Google表。请参阅下面的代码。

导入gspread
进口JSON

以f的开放('Creds.json')为f:
    凭据= JSON.LOAD(F)

gc = gspread.service_account_from_dict(凭据)

sh = gc.open(“ arcicleDemo”)

有两种替代方法可以打开Goog​​le表而不是标题名称。这些替代方法消除了标题名称依赖关系,就像在Google工作区中一样,多个文件可以具有相同的标题。对于电子表格,如果有两个具有相同标题的文件,则最新文件将由API访问。我们可以使用文件URL或电子表格的唯一ID访问电子表格,该ID执行以下链接:“ https://docs.google.com/spreadsheets/d/preadsheets/d/dunique_id>/edit”。以下是通过URL或唯一ID访问电子表格的代码。

 ##通过唯一ID访问
sh = gc.open_by_key(“ 1R97TWCM0FFFNSSSRH_0FJDDG-HCQF5PLHBHRXU9PTV_Q”)


##通过URL访问
sh = gc.open_by_url(“ https://docs.google.com/spreadsheets/d/1r97twcm0fffnssrh_0fjddg-hcqf5plhbhrxu9pplhrxu9ptv_q/edit?

以下代码将读取表格前面输入的值。该代码的工作将在本文的后面部分中进行解释。

打印(sh.sheet1.acell('a1')。值)

这将返回表格中A1单元格中存在的值,在我们的情况下,这是“ Gsheet:这是第一个单元格”。现在,我们都将深入研究GSPREAD库,并探索所有可用的选项。

注意: shvaria可以容纳电子表格对象,并将在整个指南中提及

创建和管理Google表格

可能有很多用例以编程方式创建电子表格。一个人可能是为其用户发布数据和见解的解决方案。随之而来的是,他们可能想直接与用户共享此工作表。

  • 要创建新的电子表格,请使用GSPREAD客户端的create()函数。将新电子表格的标题作为参数传递,如果要指定位置,请使用folder_id参数。
  • 仅由服务帐户用户访问创建的新电子表格。这意味着即使对于创建服务帐户的用户,电子表格也不可见。为此,我们可以使用电子表格对象的“共享()”函数。此功能需要3个强制性参数:“ email_address”(电子邮件地址),“ perm_type”(许可类型)和“角色”。权限类型可以采用以下值:用户,组,域或任何人。对于大多数用例,用户值将起作用。 PERM_TYPE还具有固定数量的可接受值:“读者”,“评论者”,“ Writer”,“ Fileorganizer”,“组织者”和“所有者”。还有一些其他可选参数,提供颗粒状的信息。
    • “通知”:以控制用户是否应收到共享文件的通知的布尔值。
    • “ email_message”:将发送的邮件和通知电子邮件发送的字符串值。
 sh = gc.create('arcitledemotest')##创建一个新的电子表格
sh.share(email_address ='[Email Protected]',perm_type ='user',prole ='writer',notify = true,email_message =“这是一个测试文件”)

使用Python的Google表自动化|分析Vidhya

管理工作表

每个电子表格都是工作表的集合。一个简单的类比是一本书具有多页的方式。使用GSPREAD,用户可以访问,修改,删除或创建新的工作表。让我们看一下这些功能。

工作表选择

可以使用工作表对象的以下方法访问电子表格对象的工作表:

  • 索引访问: “ get_worksheet()”功能在需要访问的工作表的索引中。
  • 按标题访问: “工作表()”函数在工作表的标题中获取。请注意,工作表标题本质上是独一无二的,因此,没有两个工作表可以具有相同的标题。
  • DOT符号快捷方式访问: DOT符号快捷法允许访问电子表格的第一个工作表,而无需给出标题,索引或ID。
  • 访问全部: “工作表()”功能返回电子表格的所有工作表。它将它们作为GSPREAD工作表对象返回。 “标题”和“ ID”是此类的一些重要属性,可帮助以庞大的方式访问所需的工作表。
  • ID访问:在开发自动化脚本时,可能在某些用例中处理工作表ID而不是标题。在这种情况下,可以使用“ get_worksheet_by_id()”功能。

这是所有列出的方法的示例代码。

打印(sh.get_worksheet(0))
打印(sh.worksheet(“ aTRECTWORKSHEET1”))
打印(sh.sheet1)
打印(sh.get_worksheet_by_id(0))

打印(“现在获取所有床单...”)

##返回所有工作表
对于sh.worksheets中的WS():
    打印(WS)

所有这些打印语句返回工作表对象

使用Python的Google表自动化|分析Vidhya

创建新的工作表

除了电子表格中的现有工作表外,我们还可以在同一电子表格中编程创建新的工作表。当从现有工作表处理数据并在单独的工作表中发布结果时,这种方法可能很有用。

要创建一个新的工作表,我们需要使用工作表对象的“ add_worksheet()”函数。它采用以下参数。

  • 标题:工作表的标题
  • 行,列,索引(可选):我们需要定义新创建的工作表的行和列数。 “索引”参数是可选的,它控制工作表的排序。

以下代码将创建一个带有100行和20列的工作表,并将工作表放在第二个位置。

 sh.add_worksheet('tractworksheet1.5',行= 100,cols = 20,index = 1)

它确实将其放置在第二个位置(索引1)

使用Python的Google表自动化|分析Vidhya

重命名工作表

您可以使用工作表对象的update_title()函数重命名工作表标题,该函数接受新标题作为参数。

打印(sh.worksheet(“ aTRECTWORKSHEET3”)。update_title(“ trictworksheet2.5”))

删除工作表

可以使用工作表对象的以下函数从电子表格中删除工作表:

  • 使用工作表对象删除工作表: “ del_worksheet()”功能将工作表对象作为参数,并从电子表格中删除工作表。
  • 使用工作表ID删除工作表: “ del_worksheet_by_id()”功能将工作表ID作为删除工作表的输入。

使用的功能的选择取决于制作脚本的用例。以下是代码示例,证明了这两个功能的使用情况。

 sh.del_worksheet(sh.worksheet(“ aTRECTWORKSHEET2.5”))
sh.del_worksheet_by_id('602396579')

细胞性质

我们正在从上到下慢慢缩小,并到达工作表中最小(也是最重要的)单元,即一个单元。单元格是一行和列的交点。对于GSPREAD库,它拥有以下属性:

  • 行:单元的行号
  • Col:单元的列号
  • 值:单元的值
  • 地址: A1表示法中单元格的地址

以下示例代码访问单元格的所有属性。使用工作表的单元格返回特定的检查单元格。

 samplecell = sh.worksheet(“ aTRECTWORKSHEET1”)。小区(行= 1,col = 1)
print('row:{} \ ncolumn:{} \ nValue:{} \ naddress:{}'。格式(Samplecell.Row,samplecell.col,samplecell.col,samplecell.value,samplecell.address.address))

使用Python的Google表自动化|分析Vidhya

一旦我们处理库的高阶功能,所有这些访问者就会发挥作用。

添加新的行和列

让我们开始在现有的示例工作表中添加新的行和列,以便为本指南的后面部分提供一些数据。 Gspread库以两种方式支持插入作为操作。

插入特定位置

您可以使用insert_row(),insert_rows()和insert_cols()函数在特定位置插入一行或列。这些功能使我们可以在工作表中的特定位置添加行或列。功能细节如下:

  • Insert_row:该函数需要“值”参数作为要插入的值列表。列表中的值顺序确定插入行的顺序。默认为1的“索引”参数指定行插入的位置。可选参数(例如“ value_input_option”和“ sashit_from_before”)控制该函数如何解释输入数据和行,以及它是否应直接推动数据或分析数据,就好像用户在UI中输入一样。
  • insert_rows:它以插入多行的“值”参数中的列表列表。每个列表充当一行。在内部,这是如何通过GSPREAD将行插入工作表中的实际实现。 “ insert_row()”函数称为“ insert_rows()”函数,因此,对于“ insert_row()”函数所描述的所有参数对于“ insert_rows()”为true,除了一个参数。在insert_row()函数中,您可以使用索引参数确定偏移量,而在insert_rows()函数中,您可以使用行参数指定它。
  • insert_cols:此函数是“ insert_rows()”功能的复制品,其更改的参数名称从“行”到“ col”。其余的可选参数功能保持不变。

表范围后插入

此插入仅适用于行。它使我们能够在特定表范围内插入行,该范围未知位置。同样,插入可以单一或多行方式进行。

  • append_row:它通过“值”参数将行值作为列表。 “ table_range”参数有助于定义表范围应发生的表范围。该范围以A1表示法给出。
  • append_rows:同样,“ insert_rows()”,“ append_rows()”是表范围之后的行插入的实际实现。两个函数的所有参数都与“ append_rows()”列出“值”参数列表的差异保持不变。

这是示例代码:

  • 为列添加一行:a,b,c和d
  • 在这些列下添加4行
sampamworksheet.insert_row(
    ['a','b','c','d']
)
sampleworksheet.insert_rows(
    [
        ['kg',54,23,12],
        ['og',34,12,34],
        ['Me',23,45,90],
        ['ye',65,12,54]
    ],行= 2
)

使用Python的Google表自动化|分析Vidhya

现在,让我们在此上做以下步骤:

  • 附加2行要在此表范围内继续
  • 添加另一列E
 sampleworksheet.append_rows(
    [
        ['sn',67,87,45],
        ['ar',56,23,65]
    ],,
    table_range =“ a1:d5”
)
sampleworksheet.insert_cols(
    [
        ['e',56,34,65,34,76,45]
    ],,
    col = 5
)

使用Python的Google表自动化|分析Vidhya

注意:示例工作表变量包含工作表对象,并且在整个指南中都将参考。

获取单元格和范围值

在最后一节中,我们使用各种插入操作以编程方式准备数据。现在,我们可以使用各种读取功能获取插入的数据。我们将看到如何获取单元格,然后移动以从一系列单元格和整个工作表中获取值。

获取单个单元格

工作表上的最基本读取操作涉及获取以前部分中所述的值或任何其他单元格属性。要获取单个单元格,有两个功能:

  • ACELL:这将在A1表示法中获取单元格地址并返回单元对象。
  • 单元格:这将按(行,列)的顺序取用单元格坐标。

这两个函数都返回一个单元对象,我们已经看到了如何从这些对象中获取值。 ACELL功能在我们与Google Sheets API建立连接的部分中使用。

打印(sampleworksheet.acell('a1')。行)
打印(sampleworksheet.cell(1,1)。值)

获取工作表或范围的所有单元格

  • 我们可以使用工作表对象的“ get_all_cells()”函数在单元对象列表中获取工作表的所有单元格。此功能没有参数,可以在工作表对象上直接调用。
  • 要获取特定范围的单元对象,请使用工作表对象的范围()函数。此功能接受各种输入形式,例如A1表示法,数字边界或命名范围。如果没有输入,它将在单个API调用中返回工作表中的所有单元格。对于涉及单元格性质的用例,此功能有助于滤除所需的单元格并执行进一步的动作。
 print(sampleworksheet.get_all_cells())
打印(sampleworksheet.range('b4:e5'))

获取细胞范围的值

用户通常在同一工作表中创建多个微型表,以更好地访问性。在这种情况下,我们需要将获取范围改进到这些表范围的确切地址。要获取此类表范围,我们可以使用工作表对象的以下两个功能:

  • get: “ get()”函数将表范围符合A1符号或命名范围,并返回值列表。
  • batch_get: “ get()”功能只能占一个范围,但是如果我们要处理多个范围,我们可以使用batch_get。此功能使一个API调用,节省了成本。
打印('get范围:{}'。格式(sampleworksheet.get(“ a1:d4”)))
print('批次获取范围:{}'。格式(sampleworksheet.batch_get([[[[
    “ A1:D4”,
    “ B4:E3”
)))

使用Python的Google表自动化|分析Vidhya

从行或列获取所有值

我们可以使用工作表对象的“ Row_values()”和“ Col_values()”函数获取行或列的所有值。这两个功能都采用行或列的位置(编号为1),然后返回列表中的值。

打印(sampleworksheet.row_values(1))
打印(sampleworksheet.col_values(4))

使用Python的Google表自动化|分析Vidhya

获取整个工作表值

获取整个工作表的最佳用例之一是将这些数据直接加载到熊猫数据框架中,然后根据要求进行后处理或分析。可以使用工作表对象的以下功能返回整个数据:

  • 列表列表: “ get_all_values()”函数将每一行返回列表,然后在一个列表中列出所有行列表。此函数是对“ get_values()”函数的别名,但有趣的是,“ get_values()”函数是使用“ get(get()”函数实现的。没有任何输入的“ get()”函数返回列表。因此,所有3个功能都是相同的。
  • 字典列表: “ get_all_records()”函数返回字典列表。每个字典都是一个键值映射,其中键是第一行值,而值为下一个行值。每一行都有其词典。默认情况下,它假设第一行是键,但是我们可以使用“标头”参数将另一个行作为键。还有一些其他参数,可以帮助处理空细胞和预期的标头。

您可以将这两个功能的输出直接传递到熊猫数据框架功能,以作为熊猫数据室获取工作表表。

导入大熊猫作为pd
打印(pd.dataframe(sampleworksheet.get_all_records()))
打印(pd.dataframe(sampleworksheet.get_all_values()))

使用Python的Google表自动化|分析Vidhya

更新单元格

更新电子表格的现有数据是最关键的功能,可以使用GSPREAD库功能轻松执行。有多种方法可以通过单个API调用来更新电子表格的单元格,单个单元格更新为范围的多个单元格。

更新单个单元格

可以使用工作表对象的以下功能更新工作表的单个单元格。

  • update_acell:此功能需要两个参数,即A1表示法中的单元格地址和要更新的值
  • update_cell:此功能以行列订单为单元格的坐标和更新的值
  • 更新:尽管此功能具有更新多个单元格的更大范围,但它也可以用于更新单个单元格。输入参数顺序与上述两个函数不同。 “ update()”函数将列表列表作为第一个值,然后是单元格地址。
打印(sampleworksheet.update_acell('a2','kaustubh'))
打印(sampleworksheet.update_acell('a3','oggy'))
打印(sampleworksheet.update([[['hello']],'a4'))

使用Python的Google表自动化|分析Vidhya

更新一系列单元格

您可以使用工作表对象的以下两个功能在工作表中更新一个单元格。

  • update_cells:此功能与“ range()”函数结合使用。 “ update_cells()”功能将输入作为单元格列表。该单元格可以通过从范围函数返回并访问其值属性的单元对象上循环来改变其值。
  • 更新:如前所述,您可以使用此功能更新命名范围或A1注释范围。
 rangeofcells = sampleworksheet.range('b2:b7')
对于范围内的细胞:
    newValue = int(cell.value)10
    cell.value = newValue
打印(sampleworksheet.update_cells(rangeofcells))

上面的代码获取了一系列单元格,为其值添加10个,并在单个API调用中更新它们。

更新多个单元格

在上面的一节中,我们能够通过单个API调用更新一个范围内的多个单元格。此行为也可以扩展到多个范围。这意味着我们可以用一个呼叫更新多个单元格。 “ batch_update()”函数以键和值列表列出了字典列表。范围键值应为A1表示法范围或命名范围,而值键值作为值列表。

范围1 ='c2:c7'
range2 ='e2:e7'
butrangeValues = sampleworksheet.batch_get [[[[
    范围1,
    范围2
)))
range1values,range2values = butrangeValues
range1updatedValues = [[int(x [0])10]在range1values中的x]
range2updatedValues = [[int(x [0])20]在range2values中的x]
打印(sampleworksheet.batch_update([[
    {
        “范围”:range1,
        “值”:range1updatedValues
    },,

    {
        “范围”:range2,
        “值”:range2updatedValues
    }
)))

上面的代码使用“ batch_get()”函数获取两个范围,然后在本地更新其值,然后使用“ batch_update()”函数将更新的值推回Google表。此更新的输出看起来像这样:

使用Python的Google表自动化|分析Vidhya

删除行和列

直到这一点,我们还插入,阅读和更新了工作表中的数据。我们可以执行删除操作,以从工作表中删除冗余或不必要的数据。 “ delete_rows()”和“ delete_colums()”函数采用要删除的“ start_index”。如果指定了“ end_index”,则它将删除开始和结束的索引范围内的所有列。

打印(sampleworksheet.delete_columns(4))
打印(sampleworksheet.delete_rows(6))

搜索单元格

Google表API使您可以通过匹配字符串或正则表达式来搜索单元格。您可以执行对案例敏感或不敏感的搜索,并根据需要将搜索范围缩小到特定的行或列。使用这两个工作表函数查找匹配的单元格:

  • 查找: “ find()”函数返回比赛的第一次出现。这将带有搜索字符串或正则式,“ in_row”或“ in_column”参数,以缩小搜索范围和“ case_sentive”标志以控制搜索类型。 “ in”参数为行或列位置(索引1)
  • Findall: “ findall()”是“ find()”功能的高级阶段,它返回搜索的所有匹配项。
导入
打印(sampleworksheet.find('64',in_column = 2))
searchre = re.compile(r'(a | a)')
打印(sampleworksheet.findall(搜索))

使用Python的Google表自动化|分析Vidhya

格式化细胞

在Excel中,您可以以各种方式格式化工作表,包括文本亮点,格式,边框,对齐和众多功能。 Google表还为单元格提供了多种格式选项。 Google Sheaps单元单元文档中可以找到整个字段列表。

您可以使用GSpread Worksheet对象的格式()函数来指定要应用格式的单元格或范围。提供格式为JSON字典,其中包括所有格式的密钥字段及其值。

以下代码将对表的所有单元格应用边界。

 borderformatting = {
    “样式”:“固体”,
    “ colorStyle”:{“ rgbcolor”:{“ red”:0,“绿色”:0,“蓝色”:0,“ alpha”:1}},
}

打印(
    sampleworksheet.format(
        “ A1:D6”,
        格式= {
            “边界”:{
                “ top”:边缘形式,
                “底部”:边缘形式,
                “左”:边缘形式,
                “右”:边缘形式,
            },,
        },,
    )
)

我们还可以应用批处理格式,以同时格式化多个范围。这节省了很多时间为每一个新更改编写不同的格式。 “ batch_format()”功能获取包含两个重要键的字典列表。第一个密钥是定义单元格范围的范围键和包含格式字典的格式密钥。

让我们使用“ batch_format()”函数在我们的示例表上进行以下操作:

  • 将边界应用于表的所有单元格。
  • 大胆地将第一行的文本大胆,表明这些是我们表的列。
  • 对齐中心中的所有数据。
  • 为列添加浅蓝色(第一行)。
 borderformatting = {
    “样式”:“固体”,
    “ colorStyle”:{“ rgbcolor”:{“ red”:0,“绿色”:0,“蓝色”:0,“ alpha”:1}},
}
格式= [
    {
        “范围”:“ a1:d6”,
        “格式”: {
            “边界”:{
                “ top”:边缘形式,
                “底部”:边缘形式,
                “左”:边缘形式,
                “右”:边缘形式,
            },,
            “水平安排”:“中心”,
        },,
    },,
    {
        “范围”:“ A1:D1”,
        “格式”: {
            “ textformat”:{
                “大胆”:是的,
            },,
            “ backgroundColorStyle”:{
                “ rgbcolor”:{“红色”:0.8,“绿色”:0.8,“蓝色”:1,“ alpha”:0.8}
            },,
        },,
    },,
这是给出的

打印(sampleworksheet.batch_format(格式))

这是我们桌子的最后状态。

使用Python的Google表自动化|分析Vidhya

清晰的单元格和工作表

我们可能希望在执行操作之前清除范围。为了清除单元格范围,使用工作表对象的“ batch_clear()”函数。这是需要清除的范围列表。让我们从我们的示例表中清除C列。

 print(sampleworksheet.batch_clear([“ C1:C6”]))

使用Python的Google表自动化|分析Vidhya

注意:清除函数仅清除值而不是应用的格式。

可以使用工作表对象的“ clear()”函数清除整个工作表。

打印(sampleworksheet.clear())

请查看有关如何使用Python自动化Google表的文章

Google API的局限性

我们使用GSPREAD库在Google表上进行了许多操作。该库只是一个包装器,将用户通过的数据准备成可接受的格式,并使API调用与床单相关的Google项目。它的工作原理,以便开发人员不需要了解基本的API呼叫,有效载荷和响应。开发人员仅与抽象函数进行交互。

  • 了解API配额消耗:开发人员必须了解API调用的配额,尤其是对于生产和关键任务。
  • 免费但受限的用法:Google表API是免费的,但对可以进行的API呼叫的数量有限制。
  • 常见错误 - 429(“太多请求”) :许多用户由于超出API呼叫限制而遇到429错误。
  • 配额限制示例:当前配额允许每个项目每分钟300个请求。
  • 超过配额:如果脚本发送300多个请求,则不会处理其他请求。
  • 指数向后解决方案:使用随机等待时间的重试机制,可以帮助管理这些限制。

结论

在本指南中,我们创建了一个Google Service帐户,以执行所有将在Google Shays UI上执行的操作。我们探索了许多功能,例如添加,更新和删除数据。我们还探索了如何使用Python进行格式化和Google表自动化。

Google Sheets API提供了更多功能,例如合并单元格,制作受保护的范围,隐藏单元格,添加音符,复制范围,甚至添加过滤器,所有操作以编程方式!尽管GSpread库的文档缺乏这些解释,但可以继续探索Google Sheeps官方文档,并检查GSpread文档的API参考部分,该文档的API参考部分提供了有关图书馆中实现的所有功能的高级信息。

关键要点

  • Google表自动化需要设置Google Cloud项目,这不会造成任何成本。但是,如果您不优化代码,则可能会耗尽配额,从而导致代码后期出现错误。旨在尽可能使用批处理功能。
  • 使用Google表API可以实现的目标有很多可能性,而GSpread库只是一个起点。应该探索官方文档以实现图书馆中缺少的功能(也许可以贡献)
  • 您可以使用Google表自动化设置来构建维护主记录的采购管道,并将其推向更高级的数据库,例如OLAP数据库。将这些数据库连接到BI软件,例如Tableau,以完成端到端项目。
  • Google表自动化可以通过设置自动更新,导入或组织数据的工作流来帮助您消除手动数据输入,从而大大提高效率。
  • 使用Google表自动化,您可以安排重复的任务,例如发送报告,执行计算或更新单元格,从而减少重复手动操作的需求。

常见问题

Q1。如何避免“ 429:太多请求”错误?

答:应该实施重试机制,以试图在一段时间内再次提出请求。一个这样的例子是指数退回算法

Q2。您可以在Google表中进行自动化吗?

答:是的,您可以使用Google Apps脚本以及ZapierMake(以前是Integromat)(以前是Integrat)等内置功能在Google表中自动化任务。这些允许您自动化重复任务,例如数据输入,格式和计算。

Q3。 Google有一个自动化工具吗?

答:是的,Google提供了Google Apps脚本,这是一个基于JavaScript的平台,可在Google Workspace应用程序中自动化任务(例如,表,文档,文档,Gmail)。 Additionally, tools like Google Cloud Workflows and Zapier integrations can be used for broader automation across Google services.

Q4。 How can I set up Google Sheets automations to save time on repetitive tasks?

A. You can set up Google Sheets automations using built-in tools like Macros and Google Apps Script. Macros allow you to record actions and replay them, while Google Apps Script lets you create custom automations using JavaScript. These automations can streamline repetitive tasks such as data entry, formatting, or running specific functions automatically in Google Sheets.

Q5。 What are some popular Google Sheets automations for data analysis?

A. Popular Google Sheets automations for data analysis include automated data import from external sources, scheduled reports using Google Apps Script, and conditional formatting to highlight trends. These automations help optimize the data analysis process, making Google Sheets a powerful tool for managing and interpreting large datasets efficiently.

以上是使用Python的Google表自动化|分析Vidhya的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
在LLMS中调用工具在LLMS中调用工具Apr 14, 2025 am 11:28 AM

大型语言模型(LLMS)的流行激增,工具称呼功能极大地扩展了其功能,而不是简单的文本生成。 现在,LLM可以处理复杂的自动化任务,例如Dynamic UI创建和自主a

多动症游戏,健康工具和AI聊天机器人如何改变全球健康多动症游戏,健康工具和AI聊天机器人如何改变全球健康Apr 14, 2025 am 11:27 AM

视频游戏可以缓解焦虑,建立焦点或支持多动症的孩子吗? 随着医疗保健在全球范围内挑战,尤其是在青年中的挑战,创新者正在转向一种不太可能的工具:视频游戏。现在是世界上最大的娱乐印度河之一

没有关于AI的投入:获胜者,失败者和机遇没有关于AI的投入:获胜者,失败者和机遇Apr 14, 2025 am 11:25 AM

“历史表明,尽管技术进步推动了经济增长,但它并不能自行确保公平的收入分配或促进包容性人类发展,”乌托德秘书长Rebeca Grynspan在序言中写道。

通过生成AI学习谈判技巧通过生成AI学习谈判技巧Apr 14, 2025 am 11:23 AM

易于使用,使用生成的AI作为您的谈判导师和陪练伙伴。 让我们来谈谈。 对创新AI突破的这种分析是我正在进行的《福布斯》列的最新覆盖范围的一部分,包括识别和解释

泰德(Ted)从Openai,Google,Meta透露出庭,与我自己自拍泰德(Ted)从Openai,Google,Meta透露出庭,与我自己自拍Apr 14, 2025 am 11:22 AM

在温哥华举行的TED2025会议昨天在4月11日举行了第36版。它有来自60多个国家 /地区的80个发言人,包括Sam Altman,Eric Sc​​hmidt和Palmer Luckey。泰德(Ted)的主题“人类重新构想”是量身定制的

约瑟夫·斯蒂格利兹(Joseph Stiglitz约瑟夫·斯蒂格利兹(Joseph StiglitzApr 14, 2025 am 11:21 AM

约瑟夫·斯蒂格利茨(Joseph Stiglitz)是2001年著名的经济学家,是诺贝尔经济奖的获得者。斯蒂格利茨认为,AI可能会使现有的不平等和合并权力恶化,并在几个主导公司的手中加剧,最终破坏了经济的经济。

什么是图形数据库?什么是图形数据库?Apr 14, 2025 am 11:19 AM

图数据库:通过关系彻底改变数据管理 随着数据的扩展及其特征在各个字段中的发展,图形数据库正在作为管理互连数据的变革解决方案的出现。与传统不同

LLM路由:策略,技术和Python实施LLM路由:策略,技术和Python实施Apr 14, 2025 am 11:14 AM

大型语言模型(LLM)路由:通过智​​能任务分配优化性能 LLM的快速发展的景观呈现出各种各样的模型,每个模型都具有独特的优势和劣势。 有些在创意内容gen上表现出色

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
1 个月前By尊渡假赌尊渡假赌尊渡假赌

热工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中