使用 Python 将 Google 表格变成您自己的数据库


图片来自Shutterstock,获得Frank Andrade的许可

您知道 Google 表格可以用作轻量级数据库吗?

Google Sheets 是一个基于云的电子表格应用程序,可以像大多数数据库管理系统一样以结构化方式存储数据。您还可以通过单击几下编辑和删除数据,除此之外,还可以在线访问您的数据。

尽管 Google 表格有限制,例如您可以使用的单元格数量(最多 1000 万个单元格)和您每分钟可以进行的 API 调用,但它仍然是您可以免费获得的不错选择。

在本指南中,我将向您展示如何在 Python 中使用 Google 表格。我们将学习如何使用 Python 创建电子表格并将数据保存到其中,这样您就可以将 Google 表格变成您自己的数据库。

目录
1.启用 API 并下载凭据
2.使用 Python 将 Google 表格转换为数据库
-连接到 Google 表格
-创建空白电子表格
-共享电子表格
-打开电子表格并上传数据
3.奖励:打开任何 Google 表格文件用 Python

不喜欢看书的可以看我的视频!

1. 启用 Google Drive 和 Google Sheet API 并下载凭证

要将 Google Sheets 与 Python 连接起来,我们必须将凭据下载到 JSON 文件中。为此,我们必须开始一个新项目。

创建一个新项目

要创建一个新项目,请访问此网站并按照以下步骤操作(您需要已经登录到您的 Google 帐户)。

  1. 选择一个项目
  2. 点击“新建项目”
  3. 将加载一个新页面。在那里你必须写下你的新项目的名称,然后点击“创建”

作者图片

4. 创建项目后,您将看到下图

作者图片

点击“选择项目”。您现在应该看到一个新页面。

为新项目启用 Google Drive API,创建凭据并下载它

选择项目后,转到左侧面板并单击“APIs & Services”,然后选择“Library”,如下所示。

作者图片

您现在应该看到下面的页面。在那里我们必须搜索Google Drive API并启用它。

作者图片

启用后,我们必须单击右上角的“创建凭据”。

在此之后,我们必须选择下面的选项,然后单击“下一步”

作者图片

然后我们为我们的服务帐户命名并单击“创建并继续”

作者图片

现在我们必须选择角色。在这种情况下,我们从“项目”选项中选择“编辑器”,然后单击“完成”。

作者图片

在此之后,我们必须再次打开左侧面板,点击“APIs & Services”,现在选择“Credentials”

在页面底部,您会看到“服务帐户”部分。在这里,我们必须点击我们的客户电子邮件(请记住,我们将在该部分创建的所有文件都将保存在此客户电子邮件中)

作者图片

然后我们必须转到“密钥”部分并单击“创建新密钥”

作者图片

然后单击“创建”,带有您的凭据的 JSON 文件将下载到您的计算机。我将此文件重命名为“ gs_credentials.json”。您必须将此 JSON 文件移动到 Python 脚本所在的同一文件夹中。

最后,我们必须搜索Google Sheets API并启用它,就像我们之前对 Google Drive API 所做的那样。

2. 用 Python 将 Google Sheets 变成数据库

连接到 Google 表格

要在 Python 中使用 Google 表格,首先,我们必须安装 gspread 和 oauth2client。除此之外,我们将使用 Pandas 读取本地数据并将其更新到 Google 表格。

pip install gspread 
pip install oauth2client 
pip install pandas

现在让我们导入库并连接到 Google 表格。

在上面的代码中,我们允许访问scope列表中的特定链接,然后在credentials变量中写入我们之前下载的 JSON 文件的名称。

最后,我们创建一个client变量。

创建一个空白电子表格

让我们创建一个名为“NewDatabase”的新电子表格

为此,我们必须使用我们之前定义的变量的.create方法。client

sheet = client.create("NewDatabase")

请注意,此新工作表仅对我们之前创建的服务帐户可见。要使用我们自己的 Google 帐户访问此工作表,我们必须通过我们的电子邮件共享它

共享电子表格

sheet让我们与我们自己的 Google 帐户分享这个。为此,请运行以下代码。

sheet.share('your_email_goes_here', perm_type='user', role='writer')

运行上述代码后,工作表将位于您 Google Drive 的“与我共享”部分。

打开电子表格并上传数据

现在是时候打开工作表并向其上传数据了。为此,我们使用.open方法和选择sheet1。

然后我们读取我们使用 Pandas 拥有的任何 CSV 文件。在这种情况下,我将使用您可以在Google Drive或我的Github中找到的 CSV 文件,但您可以随意使用任何您想要的 CSV 文件。

最后,我们使用该方法将数据上传到我们的工作表中.update。

# 打开电子表格
sheet = client.open("NewDatabase").sheet1# 用 pandas 读取 csv
 df = pd.read_csv('football_news')# 将 df 导出到工作表
sheet.update([df.columns.values.tolist()] + df.values.tolist())

而已!现在,您的工作表应该具有与 CSV 文件中相同的数据。您可以在我的Github上找到本指南中编写的所有代码。

奖励:使用 Python 打开任何 Google 表格文件

现在是时候打开任何 Google 表格文件(即使是那些不是由我们的客户电子邮件创建的文件)。

为此,请打开任何 Google 表格文件,转到右上角并单击“共享”。

作者图片

将弹出一个新窗口。插入我们之前收到的客户电子邮件(也在我们下载的 JSON 文件中),然后点击“发送”

作者图片

伟大的!现在我们有了权限,您可以使用我们之前编写的相同代码打开它。

原文链接:,转发请注明来源!