和其他许多应用程序一样,我有一个应用程序依赖gspread来使用Python操作Google电子表格。
不幸的是,gspread依赖于DocumentsListneneneba API,而这正被弃用。如果没有太多好的电子表格库,并且考虑到Drive API可怜的文档,下一步该怎么办?
有人能给我指一下通过Drive API和/或其他库操作电子表格的新方法(例如,打开工作表、将值写入特定单元格等)吗?
我们现在可以使用什么工具(或它们的组合)?
gspread
使用的是较旧的技术,这一点是正确的。GData API是上一代Google API。虽然不是所有的GData API都被弃用,但所有更新的谷歌API都不使用谷歌数据协议。一种选择是让gspread
维护人员升级他们的库(下面的步骤和学习资源),特别是如果你已经很舒服和/或有严重依赖它的应用程序。
目前使用Google API的方法是获得适用于Python的Google API客户端库(这与pip install -U google-api-python-client
[或适用于Python 3]的pip3
]一样简单)。一旦你有了,你将使用Google Drive API代替Documents List API和Google Sheets API,而不是旧的Google Spreadsheets API。
仅供参考,Sheetsneneneba API的功能要强大得多;比旧的API版本更灵活。以下是官方文档中的一个代码示例,可以帮助您入门。然而,这里有更多使用API的"现实世界"示例,您可以从中学习(视频和博客文章):
- 将SQL数据迁移到工作表(代码深度挖掘文章)
- 使用Sheetsneneneba API设置文本格式(代码深潜文章)
- 从电子表格数据生成幻灯片(代码深挖文章)
最新的Sheets API提供了旧版本中不可用的功能,即让开发人员像使用用户界面一样对Sheet进行编程访问(创建冻结行、执行单元格格式设置、调整行/列大小、添加数据透视表、创建图表等),Sheets API主要用于上述面向文档的功能,而面向file文件的访问(如复制、导入/导出等)则使用Drive API。以下是使用它的几个例子:
- 在Google Drive中列出您的文件(代码深度挖掘帖子)
- 谷歌硬盘:上传&下载文件加上"穷人的纯文本到PDF转换器"(代码深度挖掘帖子)(*)
- 仅将Google工作表导出为CSV博客文章
(*)-TL;DR:将纯文本文件上传到Drive,导入/转换为谷歌文档格式,然后将该文档导出为PDF。以上帖子使用驱动器API v2;这篇后续文章描述了将其迁移到Drive API v3,这里有一个开发人员视频,将两篇"穷人的转换器"文章结合在一起,是的,新的v3是在我完成之前的内容之后发布的。:P