使用 gspread 提取 sheet ID

Using gspread to extract sheet ID

似乎找不到任何答案,但是有没有 functions/methods 可以获得工作表 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()?

我相信你的目标如下。

  • 为了使用 import_csv,您想要从 sheet = client.open(str(self.googleSheetFile)).worksheet(str(self.worksheet)) 检索电子表格 ID。
  • 您想使用带有 python 的 gspread 来实现此目的。

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

发件人:

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的文档,是这样说的。所以请注意这一点。

    This method removes all other worksheets and then entirely replaces the contents of the first worksheet.

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

参考: