用谷歌表格和Pandas收集数据

用谷歌表格和Pandas收集数据

在这篇文章中,我们将讨论如何使用Pandas从Google表单中收集数据。

需要的模块

  • pydrive。这是用来简化许多常见的Google Drive API任务。要安装它,在终端键入以下命令。
pip install pydrive
Python
  • xlrd:这个模块用于从电子表格中提取数据。要安装这个模块,请在终端输入以下命令。
pip install xlrd
Python
  • openpyxl : 这是一个用于读写 Excel 的 Python 库。要安装它,在终端键入以下命令。
pip install openpyxl
Python

开始

整个过程的第一个重要部分是创建一个谷歌表格。访问这个链接并创建一个新的表格。

用谷歌表格和Pandas收集数据

在谷歌表格中创建表格

当我们完成了问题的设置后,点击发送按钮来发布表格。要访问这个谷歌表格,请点击这里。

下一步是在谷歌上验证我们的Python脚本和本地环境,并通过在谷歌云平台上启用谷歌驱动API,从谷歌驱动上访问谷歌表单数据。遵循这些步骤。

1.转到谷歌表格
2.响应标签。
3.点击电子表格图标
4.并为我们的谷歌表格创建一个新的目标电子表格。

用谷歌表格和Pandas收集数据

链接一个新的电子表格和谷歌表格

这个电子表格将被创建并存储在Google Drive中。我们必须整合Google Drive和Python环境。首先,我们要对Google进行认证。

认证Google Drive API

现在,为了使用Google Drive API,我们必须设置我们的账户,启用Google Drive API并获得我们的client_secrets.json密钥。

1.进入谷歌云平台控制台,点击GCP工具栏上的新项目/项目→新项目。

用谷歌表格和Pandas收集数据

点击项目名称,然后选择新项目

2.为我们的项目输入一个名称,然后点击创建。

用谷歌表格和Pandas收集数据

创建一个GCP项目

3.在我们项目的主屏幕上,点击左上角的导航栏,点击API和服务,并选择OAuth同意屏幕。

用谷歌表格和Pandas收集数据

导航至Oauth同意屏幕

4.在OAuth同意屏幕首页,选择外部,然后点击创建

用谷歌表格和Pandas收集数据

Oauth初始步骤

5.在下一个屏幕,输入强制性的细节,包括应用程序名称、用户支持电子邮件和开发人员联系信息。点击 “保存并继续”,然后进入摘要页面。

用谷歌表格和Pandas收集数据

App Details

6.在摘要屏幕上,点击 “回到仪表板”。现在我们将有一个选项来发布我们的应用程序。现在我们已经准备好将我们的应用程序推向生产。

用谷歌表格和Pandas收集数据

发布我们的应用程序

7.现在我们已经发布了我们的应用程序,点击搜索栏并搜索Google Drive API。选择Google Drive API并启用该服务。

用谷歌表格和Pandas收集数据

搜索Google Drive API服务

用谷歌表格和Pandas收集数据

启用Google Drive API

8.现在,我们已经发布了我们的应用程序并启用了Google Drive API,点击导航栏,在API和服务中,选择Credentials。

用谷歌表格和Pandas收集数据

Create Credentials

9.在OAuth客户端ID屏幕上,选择应用程序类型为桌面应用程序,输入名称并点击创建。

用谷歌表格和Pandas收集数据

创建OAuth客户端ID

9.我们将被重定向到证书主页,在那里我们将能够找到我们的OAuth客户端ID。点击下载密钥选项并保存名为client_secrets.json的.JSON文件。

用谷歌表格和Pandas收集数据

下载密匙

注意:这个密匙和下面创建的Python文件应该出现在同一个目录中。

Python Implementation:

from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive
import pandas as pd
  
# Initializing a GoogleAuth Object
gauth = GoogleAuth()
  
# client_secrets.json file is verified
# and it automatically handles authentication
gauth.LocalWebserverAuth()
  
# GoogleDrive Instance is created using
# authenticated GoogleAuth instance
drive = GoogleDrive(gauth)
  
# Initialize GoogleDriveFile instance with file id
file_obj = drive.CreateFile({'id': 'FILE_ID'})
file_obj.GetContentFile('FILE_NAME.xls',
         mimetype='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet')
  
dataframe = pd.read_excel('FILE_NAME.xls')
print(dataframe)
Python

注意:用于谷歌表格创建和Python环境GDrive认证的谷歌账户必须是相同的。

当我们运行代码时,在我们默认的网络浏览器中会弹出一个谷歌认证流程窗口。我们必须选择我们的谷歌账户并继续执行该流程。

用谷歌表格和Pandas收集数据

选择我们的谷歌账户

用谷歌表格和Pandas收集数据

点击 “高级”->”进入GFG应用程序”(不安全)。

我们必须允许权限,并再次在 “下一屏幕 “点击 “允许”。

用谷歌表格和Pandas收集数据

为我们的应用程序启用权限

现在我们将在浏览器中收到一条信息,上面写着 “认证流程已经完成”。移动到我们的Python环境,我们将能够看到Pandas Dataframe格式的数据。

输出:

用谷歌表格和Pandas收集数据

通过Google Drive API从Google表格中实时获得Pandas数据框架

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册