Google Drive API python以csv格式单独导出电子表格的每个工作表

时间:2015-12-15 09:41:30

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

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

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

1 个答案:

答案 0 :(得分:0)

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

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

  • 通过Google API 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)?