【Google API教学】使用Python访问和修改Google Sheet

Share

  这将是我使用Python Google sheet API的第一篇文章。我很高兴地分享我用Python Google sheet API做的事情。我想使用bash shell脚本来更新google页面,但是没有发现任何我可以用bash来玩的东西。后来,我选择了Python,因为它提供了一个”gspread”库,可以用来在 google 页面上工作。

  场景: 使用python修改google页面。

  我们需要安装”gspread”Python 库并安装/升级google-api-Python 客户端,以验证并在 google 表上工作,安装我就不过多展示了

  现在, 我们准备开始使用下面的 google 表格:

  认证: 第一步是对我们的谷歌账户进行身份验证, 以获取我们账户中的 google

  我们可以使用 google 提供的 OAuth 令牌进行身份验证, 这是一种更好的安全实践, 因为它不会暴露敏感信息。下面是获取 OAuth 令牌并下载为 JSON 文件的步骤: 用你的谷歌凭证登录到 google 开发者控制台, 我们将看到下面的页面:

【Google API教学】使用Python访问和修改Google Sheet

  点击上面突出的”我的项目”并创建一个新项目, 如果没有任何项目, 否则, 可以使用相同的项目:

【Google API教学】使用Python访问和修改Google Sheet

  选择步骤1中创建的项目。我们需要为谷歌驱动器启用 Google API。点击下面的”驱动 API”, 并启用:

【Google API教学】使用Python访问和修改Google Sheet

  在左侧面板上单击”凭据”, 然后单击”创建凭据”, 如下所示:

【Google API教学】使用Python访问和修改Google Sheet

  从列表中选择”服务帐户密钥”:

【Google API教学】使用Python访问和修改Google Sheet

        在下一个页面中, 选择”App Engine 默认服务账户”, 键入”JSON”,然后按下列「创建」 , 我们的系统会下载一个 JSON 文件:

【Google API教学】使用Python访问和修改Google Sheet

  我们将使用这个 JSON (例如 credentials.JSON)在我们的谷歌帐户中进行认证。现在, 我们需要用客户电子邮件(和我们与他人共享的方式相同)共享谷歌表格, 这些邮件可以在 JSON 文件中与”客户电子邮件”字段进行对比:

import gspread
from oauth2client.service_account import ServiceAccountCredentials
scope = "https://spreadsheets.google.com/feeds"
credentials = ServiceAccountCredentials.from_json_keyfile_name(‘credential.json', scope)
gs = gspread.authorize(credentials)

 

  我们现在已经通过谷歌账户认证, 可以使用”gs”对象访问我们账户中的任何 google Sheet (例如”Demo Sheet”) :

gsheet = gs.open("Demo Sheet")

  现在, 我们有一个对象可以用来编辑工作表。下面是我经常用到的几个用例。

wsheet = gsheet.worksheet("sheet1")

  阅读一个单元格(比如”B5″细胞)的数据如下:

wsheet.get_int_addr(‘B5’)

  阅读细胞范围内的数据(比如 B3: B13)如下:

wsheet.range('B3:B13')

  更新单个单元格(如下面的”A4″和”24″) :

update_acell('A4’), ‘24’)

  复制从一个单元格到另一个单元格的数据(比如 B3: B13″到”D2: D12″) :

range1 = wks.range('B3:B13')
range2 = wks.range('C3:C13')
for range1_cell,range2_cell in zip(range1,range2):
range2_cell.value = range1_cell.value
wks.update_cells(previous)

      版权声明:

      ISEOER的所有文字、图片和音视频资料,版权均属本站所有,任何媒体、网站或个人未经本网协议授权不得复制、转载、链接、转贴或以其他方式复制发布/发表。

    版权声明:

     本网站的所有文字、图片资料,【未注明转载的】均由作者亲自整理创作,任何媒体、网站或个人未经本人同意和授权不得复制、转载、转贴或以其他方式复制发布/发表,请尊重我的劳动成果,侵权必究,谢谢。