【问题标题】:Read Google Sheet from Cloud function into Pandas DataFrame without making sheet public在不公开工作表的情况下,将 Cloud 函数中的 Google Sheet 读入 Pandas DataFrame
【发布时间】:2021-11-21 14:44:15
【问题描述】:

我设法使用 pd.read_csv(sheet_url)工作表 加载到 pandas 数据框,但首先我必须将工作表设为 public,即不可取。

云功能运行pd.read_csv(sheet_url)时,有没有办法以某种方式验证

【问题讨论】:

  • 我发现了一个类似的thread,其中 Martin Omander 的回答解释了您的查询。
  • 该线程使用的是 Google Sheets API,我使用的是 pandas.read_csv()。
  • 您可以使用 GCP 提供的service accounts,并且只与该帐户共享工作表,而不是将其公开。
  • @GouravB 我尝试与与云功能关联的服务帐户共享工作表,但在运行 pd.read_csv 时不起作用,你试过了吗?
  • 能否请您包括回购代码和错误消息。

标签: pandas google-sheets google-cloud-platform google-cloud-functions


【解决方案1】:

我在下面建议您可以尝试解决您的查询的不同方法:

GCP 提供 service accounts 仅与该帐户共享工作表,而不是将其公开,其步骤如下: 创建服务帐户。 保存服务帐号密钥 创建 API 密钥 保存 API 密钥 授予对服务帐号的电子表格访问权限 这是quickstart,您可以执行它来熟悉 Google Drive 的官方 Python API。此外,您可以参考here 中提到的如何使用 OAuth 和 Python API 访问 Google Sheet。

Pandas 支持 Google Cloud BigQuery APIs,包括使用服务帐户进行身份验证,但类似的开箱即用 API 不适用于 Google Drive/Sheets。但是,您可以查看StackOverflow answer,了解如何使用 pandas 实现此目的。

我找到了一个guide to Google Sheets with Python,它可以提供帮助,它使用了一个名为 pygsheets 的 python 包。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-18
    • 1970-01-01
    • 1970-01-01
    • 2017-08-10
    • 2015-05-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多