【问题标题】:Google Drive API python to export each worksheet of spreadsheet separately in csv formatGoogle Drive API python以csv格式分别导出电子表格的每个工作表
【发布时间】:2016-03-21 00:50:32
【问题描述】:

我指的是下面的 Google Drive api 以将 Google 电子表格导出为 CSV。 https://developers.google.com/drive/v2/web/manage-downloads

它工作正常但如指南中所述,它仅将第一张工作表下载为 csv 格式。我正在寻找一种将所有工作表分别下载为 csv 格式的方法。 弃用 OAuth1 后,python 的 gdata 库无法正常工作。 请建议是否有人在 OAuth2 中成功完成。

【问题讨论】:

标签: python csv google-sheets google-drive-api google-apps


【解决方案1】:

Drive API 本身不提供导出特定工作表的方法,但使用有效的不记名令牌,您可以通过其 Google Drive 网址以所需格式下载它。模式是https://docs.google.com/spreadsheets/d/{{document_id}}/export?format=tsv&gid={{gid}}。当您在 Google Drive 中打开工作表时,document_idgid 在浏览器 URL 栏中可见。将tsv 替换为您需要的任何格式。

我的 Python 不够好,但我在 Node.js 中创建了一个演示应用程序:git@github.com:joerx/drive-exporter.git。大体流程是:

  • 通过 Google APIs OAuth2 流程获取访问令牌
  • 找出sheet_idgid
  • 构造下载地址
  • 发出一个常规的 HTTP 请求,将令牌作为Authorization: Bearer {{token}} 传递

对于公开表格,您可以跳过授权部分。

使用 Drive API 和 OAuth2 的一般文档(带有 Python 中的示例)是 here

如果您需要以编程方式确定 gid,这可能会有所帮助:How to convert Google spreadsheet's worksheet string id to integer index (GID)?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-22
    • 1970-01-01
    • 1970-01-01
    • 2012-09-01
    • 1970-01-01
    • 2012-09-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多