谷歌表格

Google Sheets 是由 Google 提供的基于网络的免费电子表格应用程序,允许用户在线创建、管理和格式化电子表格。它还允许用户与其他用户协作。

谷歌表格

为什么要将 Python 连接到 Google Sheets?

随着数据量的增加,Python 被证明在对您的 Google 工作表数据执行数据分析和机器学习以提供可操作的情报方面更加强大和实用。它通过强大的图书馆和庞大的在线支持小组的帮助来做到这一点。

在 Google 表格中设置和执行数据分析很容易。但是,随着数据量的增加,您需要更多的计算灵活性和能力。

今天,Python 是数据分析和机器学习的首选编程语言,这要归功于它的第三方库,如 Pandas、Numpy、Scikit learn 和 Matplotlib。活跃的在线支持小组的存在也有帮助。

更容易利用这些库的力量并围绕 Python 中的数据构建可操作的商业智能。

如何将 Python 连接到 Google 表格?

您可以通过在 Google Cloud Console 中创建服务帐户来将 Python 连接到 Google Sheets,该服务帐户允许您对 Google Sheets API 进行授权 API 调用。

请按照以下步骤操作。

在谷歌云控制台新建项目

1.在浏览器中登录谷歌云控制台。

  1. 点击 Menu > IAM & Admin > Create a Project

谷歌云控制台

  1. 提供一个项目名称,然后单击创建

Google Cloud Console 中的新项目

启用谷歌驱动API

  1. 点击 Menu > APIs & Services > Enabled APIs & Services

谷歌云 API 和服务

  1. 点击页面顶部中间的**+ Enable APIS AND SERVICES** 按钮。

在 Google Cloud 中启用 API

  1. 搜索 Google Drive API 并点击它。

谷歌驱动 API

  1. 启用 Google Drive API。

启用 Google Drive API

  1. 搜索 Google Sheets API 并启用它。

截图来自 2022-06-02 17-58-04.png

启用 Google Drive 和 Google Sheets API 后,您将被重定向到其页面。要开始使用此 API,您必须创建凭据

创建服务账号

  1. 点击 Google Drive API 页面上的 Create Credentials

为 Google Drive API 创建凭据

  1. Create Credentials 页面上,填写必要的详细信息,然后单击 Done。您将被引导至 服务帐户 页面。

凭据页面 Google Cloud Console

  1. 提供服务帐户名称和描述。点击创建并继续

Google Cloud 中的服务帐户页面

  1. 您将在屏幕上收到一封电子邮件。复制该电子邮件以备后用。

Google Drive API 的服务帐户电子邮件

  1. 在同一页面上,单击 Keys 选项卡。 添加密钥 > 创建新密钥。单击 JSON 以创建私钥。

用于访问 Google Drive 的 JSON 格式的私钥

下载私钥后,将其重命名为credentials.json以供以后使用 Google API 执行 OAuth2 身份验证。

与客户电子邮件共享 Google 表格

创建一个谷歌表进行试验。在这里,我创建了一个待办事项

我在 Google 表格中的待办事项列表

单击 Share 按钮并与您从上一节的步骤 4 中保存的 client email 共享电子表格。

lambda(11).png

您可以使用gspread第三方库与工作表进行交互。

用 Python 读写 Google Sheet

  1. 安装必要的库。
点安装 gspread
pip install --upgrade google-api-python-client oauth2client
  1. 创建一个新的 Python 文件。将以下库导入文件。
导入 gspread
将熊猫导入为 pd
从 oauth2client.service_account 导入 ServiceAccountCredentials
zoz100069`

3、将`credentials.json`复制到你的文件所在目录下,并进行授权。

定义应用程序的范围

范围 u003d ['https://spreadsheets.google.com/feeds', 'https://www.googleapis.com/auth/drive']

#credentials 到帐户

cred u003d ServiceAccountCredentials.from_json_keyfile_name('credentials.json',scope)

授权客户表

客户端 u003d gspread.authorize(cred)


4. 使用 gspread`get_all_values()`方法从电子表格中读取数据。

提供 Google 表格 ID

gs1 u003d client.open_by_key('18ZG9iEJN4c2SRdhWxo3o05ch6_TF4r2-7joAGtOeKG0')

ws1 u003d gs1.sheet1

打印(ws1.get_all_values())


您应该从工作表中获取所有行。

**输出**

[['

To Do', '', '0/3 完成'], ['', '', ''], ['✓', 'Date', 'Task'], ['FALSE', '2/6' , '完成关于将 Python 连接到 Google Sheets 的博客'], ['FALSE', '2/7', '去买书'], ['FALSE', '2/8', '与耶稣会面']]

zoz100077`

  1. 你也可以写到谷歌表。例如 - 下面的代码创建一个新的工作表。
# 创建一个新的电子表格
new_ws u003d gs1.add_worksheet(titleu003d"试用工作表", rowsu003d10, colsu003d20)

在 Python 中使用 gspread 创建新工作表

我希望本文提供了一个清晰的分步指南,以从 Python 连接到 Google 表格。在下一篇文章中,我们将利用 Python 的强大功能,对电子表格数据进行一些数据分析。

Logo

Python社区为您提供最前沿的新闻资讯和知识内容

更多推荐