首页 > 解决方案 > 使用 gspread 提取工作表 ID

问题描述

似乎找不到任何答案,但是有没有可以获取工作表 ID 的函数/方法?

目前,我的代码如下所示:

scope = ['https://spreadsheets.google.com/feeds','https://www.googleapis.com/auth/drive']

        ....code to authorize credentials goes here....

        sheet = client.open(str(self.googleSheetFile)).worksheet(str(self.worksheet))

        client.import_csv('abcdefg1234567abcdefg1234567', contents)

但我不想硬编码abcdefg1234567abcdefg1234567. 有什么我可以做的sheet.id()吗?

标签: pythongoogle-sheets-apigspread

解决方案


我相信你的目标如下。

  • 为了使用import_csv,您希望从中检索电子表格 ID sheet = client.open(str(self.googleSheetFile)).worksheet(str(self.worksheet))
  • 您想使用 gspread 和 python 来实现这一点。

在这种情况下,您可以从 检索电子表格 ID client.open(str(self.googleSheetFile))。因此,请按如下方式修改您的脚本。

从:

sheet = client.open(str(self.googleSheetFile)).worksheet(str(self.worksheet))

client.import_csv('abcdefg1234567abcdefg1234567', contents)

到:

spreadsheet = client.open(str(self.googleSheetFile))
sheet = spreadsheet.worksheet(str(self.worksheet))
client.import_csv(spreadsheet.id, contents)

笔记:

  • 当我看到gspread的文档时,它说如下。所以请注意这一点。

    此方法删除所有其他工作表,然后完全替换第一个工作表的内容。

  • 此修改后的脚本假设您已经能够使用带有 gspread 的 Sheets API 获取和放置 Google 电子表格的值。

参考:


推荐阅读