Google文档列表API弃用:现在如何用Python处理电子表格?

像其他许多人一样,我有一个依靠gspread来操纵Google Spreadsheets的应用程序。

不幸的是,gspread依赖于文档列表API,这已被 弃用 。 没有太多好的电子表格库的方式 – 并且给了Drive API的可怜的文档 – 接下来是什么?

任何人都可以通过Drive API和/或其他库指向新方法来操纵电子表格(例如打开工作表,将值写入特定的单元格等)吗?

我们现在可以使用哪些工具(或其组合)?

你是正确的, gspread正在使用旧技术。 GData API是上一代Google API。 尽pipe并非所有的GData API都已被弃用,但所有新的 Google API 都不使用Google Data协议 。 另一种方法是让gspread维护者升级他们的库(下面的步骤和学习资源),尤其是 如果你已经舒适和/或有大量依赖的应用程序。

目前使用今天的Google API的方式是获得Python的Google API客户端库 (就像pip install -U google-api-python-client [或Python 3的pip3 ]一样简单)。 一旦你有了,你将会使用Google Drive API代替文档列表API和Google Sheets API,而不是使用旧的Google Spreadsheets API。

仅供参考,Sheets API比旧的API版本更加强大和灵活。 下面是官方文档中的一个代码示例 ,以帮助您启动。 不过,下面是使用可以学习的API(video和博客文章)的更多“真实世界”示例:

  • 将SQL数据迁移到工作表 (代码深潜后 )
  • 使用Sheets API格式化文本 (代码深入文章 )
  • 从电子表格数据生成幻灯片 (代码深潜后 )

最新的Sheets API提供了旧版本中不具备的function,即让开发人员可以像使用用户界面一样编程访问工作表(创build冻结行,执行单元格格式化,调整行/列大小,添加数据透视表,创build图表等等)。 正如您所看到的,Sheets API主要用于面向文档的function,而面向文件的访问(例如复制,导入/导出等)却是使用Drive API完成的。 这里有一些使用它的例子:

  • 在Google云端硬盘中列出您的文件 (代码深入了解)
  • 谷歌云端硬盘:上传和下载文件加上“穷人的纯文本到PDF转换器”(代码深潜后 )(*)
  • 仅将CSV表格导出为CSV博客文章

(*) – TL; DR:将纯文本file upload到云端硬盘,导入/转换为Google文档格式,然后将该文档导出为PDF。 以上post使用Drive API v2; 这个后续的文章描述了将其迁移到Drive API v3,这里是一个开发人员的video结合“穷人的转换器”的职位是的,刚刚完成了以前的内容后,新的v3出来。 :P