图片来自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 帐户)。
- 选择一个项目
- 点击“新建项目”
- 将加载一个新页面。在那里你必须写下你的新项目的名称,然后点击“创建”
作者图片
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 文件中),然后点击“发送”
作者图片
伟大的!现在我们有了权限,您可以使用我们之前编写的相同代码打开它。
