📜  如何使用Python自动化 Google 表格?

📅  最后修改于: 2022-05-13 01:54:39.729000             🧑  作者: Mango

如何使用Python自动化 Google 表格?

在本文中,我们将讨论如何使用Python自动化 Google 表格。

Pygsheets是一个简单的Python库,可用于通过 Google Sheets API 自动化 Google Sheets。该库的一个示例用途是根据 CSV 文件中的一些数据自动绘制图表,我们可以将这些数据导出到 Google 表格。所以,让我们继续。

pygsheets 如何与 Google 表格一起使用?

  • 客户创建和访问电子表格。
  • 电子表格是用于表示 Google 表格的类。
  • 每个电子表格都有多个“工作表”。
  • 可以通过支持格式、公式等的“单元格”对象访问工作表内的数据。

第 1 步:为 Google 表格和 Google Drive 启用 API

A. 转到 Google Developers Console 并创建一个新项目。

B. 输入项目的名称。您可以将“位置”保留为“无组织”。按创建。

C. 现在,我们将启用 Google Sheets 和 Google Drive API。为此,请单击“启用 API 和服务”。

D. 现在在搜索栏中输入“Google Sheets API”,单击“Google Sheets API”选项,然后按“启用”。

E. 同样,搜索并启用“Google Drive API”。

第 2 步:创建服务帐户并获取凭据

我们将使用服务帐户来调用 API 来编辑电子表格。它与我们用来创建项目的 Google 开发者帐户的电子邮件 ID 相关联。

A. 要创建一个,请单击“创建凭据”。

B. 在“选择 API”部分中选择“Google Sheets API”,在以下问题中选择“应用程序数据”和“不,我没有使用它们”。点击下一步'。

C. 输入服务帐户的显示名称和名称。

D. 现在我们将输入服务帐户的访问级别。单击“选择角色”并在“基本”部分下选择“编辑”。按“继续”。

E. 您可以将“授予用户对此服务帐户的访问权限”部分留空,现在按“完成”。

F. 现在单击刚刚创建的服务帐户。

G. 转到“KEYS”部分并单击“ADD KEY”。选择“创建新密钥”。

H. 选择“JSON”以 JSON 文件格式下载密钥。点击“创建”。

I. 上述文件将被下载到您的系统中。不要与任何人共享密钥并确保他们的安全。将文件放在要在其中创建Python项目的文件夹中。

第 3 步:将服务帐户添加为编辑器

在您的 Google 帐户中创建一个新的 Google 表格,或者您甚至可以使用现有的表格。只需将服务帐户添加为该工作表中的编辑者之一。您将在密钥文件中找到服务帐户电子邮件,即“client_email”。

第 4 步:授权 pygsheets

A. 现在创建一个 main.py 文件并将其放在与 Keys 文件相同的文件夹中。

B. 安装所需的库。

pip install pygsheets

C、现在,在main.py文件中编写如下代码,验证pygsheets授权成功。

Python3
# Importing required library
import pygsheets
  
# Create the Client
# Enter the name of the downloaded KEYS 
# file in service_account_file
client = pygsheets.authorize(service_account_file="gfg-pygsheets-demo-e3d0c0e482af.json")
  
# Sample command to verify successful
# authorization of pygsheets
# Prints the names of the spreadsheet
# shared with or owned by the service 
# account
print(client.spreadsheet_titles())


Python3
# Importing required library
import pygsheets
  
# Create the Client
client = pygsheets.authorize(service_account_file="gfg-pygsheets-demo-e3d0c0e482af.json")
  
# opens a spreadsheet by its name/title
spreadsht = client.open("gfg-demo-sheet")
  
# opens a worksheet by its name/title
worksht = spreadsht.worksheet("title", "Sheet1")
  
# Now, let's add data to our worksheet
  
# Creating the first column
worksht.cell("A1").set_text_format("bold", True).value = "Item"
  
# if updating multiple values, the data
# should be in a matrix format
worksht.update_values("A2:A6", [["Pencil"], ["Eraser"], 
                                ["Sharpener"], ["Ruler"], 
                                ["Pen"]])  # Adding row values
  
# Similarly, creating the second column
worksht.cell("B1").set_text_format("bold", True).value = "Price"
worksht.update_values("B2:B6", [[5], [3], [5], [15], [10]])
  
# Creating a basic bar chart
worksht.add_chart(("A2", "A6"), [("B2", "B6")], "Shop")


上面的代码应该打印我们在第 3 步中与服务帐户共享的电子表格的名称。因此,我们已经成功地将我们的 Google 表格与服务帐户相关联,现在,我们将使用客户端来编辑电子表格。

第 5 步:编辑电子表格

A. 现在,我们将看一些通过Python代码编辑电子表格的命令。

Python3

# Importing required library
import pygsheets
  
# Create the Client
client = pygsheets.authorize(service_account_file="gfg-pygsheets-demo-e3d0c0e482af.json")
  
# opens a spreadsheet by its name/title
spreadsht = client.open("gfg-demo-sheet")
  
# opens a worksheet by its name/title
worksht = spreadsht.worksheet("title", "Sheet1")
  
# Now, let's add data to our worksheet
  
# Creating the first column
worksht.cell("A1").set_text_format("bold", True).value = "Item"
  
# if updating multiple values, the data
# should be in a matrix format
worksht.update_values("A2:A6", [["Pencil"], ["Eraser"], 
                                ["Sharpener"], ["Ruler"], 
                                ["Pen"]])  # Adding row values
  
# Similarly, creating the second column
worksht.cell("B1").set_text_format("bold", True).value = "Price"
worksht.update_values("B2:B6", [[5], [3], [5], [15], [10]])
  
# Creating a basic bar chart
worksht.add_chart(("A2", "A6"), [("B2", "B6")], "Shop")

输出: